This commit is contained in:
Andrey Breslav
2012-08-22 16:48:30 +04:00
parent 72de754731
commit 08e3da6769
@@ -1249,7 +1249,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
return myFrameMap.getIndex(descriptor); return myFrameMap.getIndex(descriptor);
} }
public void invokeFunctionNoParams(FunctionDescriptor functionDescriptor, Type type, InstructionAdapter v) { public void invokeFunctionNoParams(FunctionDescriptor functionDescriptor, Type expectedType, InstructionAdapter v) {
DeclarationDescriptor containingDeclaration = functionDescriptor.getOriginal().getContainingDeclaration(); DeclarationDescriptor containingDeclaration = functionDescriptor.getOriginal().getContainingDeclaration();
boolean isStatic = containingDeclaration instanceof NamespaceDescriptor; boolean isStatic = containingDeclaration instanceof NamespaceDescriptor;
functionDescriptor = functionDescriptor.getOriginal(); functionDescriptor = functionDescriptor.getOriginal();
@@ -1257,7 +1257,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
IntrinsicMethod intrinsic = state.getInjector().getIntrinsics().getIntrinsic(functionDescriptor); IntrinsicMethod intrinsic = state.getInjector().getIntrinsics().getIntrinsic(functionDescriptor);
if (intrinsic != null) { if (intrinsic != null) {
intrinsic.generate(this, v, type, null, null, StackValue.onStack(TYPE_OBJECT), state); intrinsic.generate(this, v, expectedType, null, null, StackValue.onStack(TYPE_OBJECT), state);
return; return;
} }
@@ -1277,7 +1277,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
typeMapper.mapSignature(functionDescriptor.getName(), functionDescriptor).getAsmMethod().getDescriptor()); typeMapper.mapSignature(functionDescriptor.getName(), functionDescriptor).getAsmMethod().getDescriptor());
JetType returnType = functionDescriptor.getReturnType(); JetType returnType = functionDescriptor.getReturnType();
assert returnType != null; assert returnType != null;
StackValue.onStack(asmType(returnType)).coerce(type, v); StackValue.onStack(asmType(returnType)).coerce(expectedType, v);
} }
public StackValue.Property intermediateValueForProperty( public StackValue.Property intermediateValueForProperty(