reached in wrong class and missing typecheckcall on parameters iexpression
This commit is contained in:
parent
cd9fc46a1f
commit
5b0dc04bd7
@ -57,7 +57,7 @@ public class MethodCallStatementExpression extends AbstractType implements IExpr
|
|||||||
receiver.instVarExpression.typeCheck(methodContext, typeContext, localVars);
|
receiver.instVarExpression.typeCheck(methodContext, typeContext, localVars);
|
||||||
currentType = typeContext.get(typeOfSubreceiver).get(mostLeftField);
|
currentType = typeContext.get(typeOfSubreceiver).get(mostLeftField);
|
||||||
} else {
|
} else {
|
||||||
currentType = thisClass;
|
currentType = classToSearchMethodIn;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
currentType = thisClass;
|
currentType = thisClass;
|
||||||
@ -74,6 +74,9 @@ public class MethodCallStatementExpression extends AbstractType implements IExpr
|
|||||||
}
|
}
|
||||||
currentType = (String) methodContext.get(currentType).get(methodName).keySet().toArray()[0];
|
currentType = (String) methodContext.get(currentType).get(methodName).keySet().toArray()[0];
|
||||||
|
|
||||||
|
for (IExpression argument : arguments) {
|
||||||
|
argument.typeCheck(methodContext, typeContext, localVars);
|
||||||
|
}
|
||||||
TypeCheckResult result = new TypeCheckResult();
|
TypeCheckResult result = new TypeCheckResult();
|
||||||
result.type = currentType;
|
result.type = currentType;
|
||||||
setTypeCheckResult(result);
|
setTypeCheckResult(result);
|
||||||
|
Loading…
Reference in New Issue
Block a user