Fixed methodCalls with no receiver
This commit is contained in:
parent
1100cef668
commit
97ab66122e
@ -121,7 +121,9 @@ public class MethodCallStatementExpression extends AbstractType implements IExpr
|
||||
throw new ExecutionControl.NotImplementedException("Receiver type not supported.");
|
||||
}
|
||||
} else {
|
||||
throw new ExecutionControl.NotImplementedException("Receiver is null.");
|
||||
mv.visitVarInsn(Opcodes.ALOAD, 0);
|
||||
owner = thisClass;
|
||||
|
||||
}
|
||||
String returnOfPreviousMethod = null;
|
||||
// Invoke the method for each receiving method in the chain
|
||||
@ -185,12 +187,17 @@ public class MethodCallStatementExpression extends AbstractType implements IExpr
|
||||
}
|
||||
descriptor.append(")");
|
||||
|
||||
String classToSearchMethodIn;
|
||||
//Return Type
|
||||
String classToSearchMethodIn = localVars.get(receiver.identifier);
|
||||
if (classToSearchMethodIn == null) {
|
||||
classToSearchMethodIn = returnOfPreviousMethod;
|
||||
}
|
||||
if (classToSearchMethodIn == null) {
|
||||
if (receiver != null) {
|
||||
classToSearchMethodIn = localVars.get(receiver.identifier);
|
||||
if (classToSearchMethodIn == null) {
|
||||
classToSearchMethodIn = returnOfPreviousMethod;
|
||||
}
|
||||
if (classToSearchMethodIn == null) {
|
||||
classToSearchMethodIn = thisClass;
|
||||
}
|
||||
} else {
|
||||
classToSearchMethodIn = thisClass;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user