diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 36e104a324c..a1a0e75c470 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -2486,22 +2486,6 @@ public class ExpressionCodegen extends JetVisitor implem this.resolvedCall = resolvedCall; } - @NotNull - @Override - public ExpressionCodegen initializeExpressionCodegen( - JvmMethodSignature signature, - MethodContext context, - MethodVisitor mv, - Type returnType, - MemberCodegen parentCodegen - ) { - FunctionDescriptor referencedFunction = (FunctionDescriptor) resolvedCall.getResultingDescriptor(); - JetType returnJetType = referencedFunction.getReturnType(); - assert returnJetType != null : "Return type can't be null: " + referencedFunction; - - return super.initializeExpressionCodegen(signature, context, mv, state.getTypeMapper().mapReturnType(returnJetType), parentCodegen); - } - @Override public void doGenerateBody(@NotNull ExpressionCodegen codegen, @NotNull JvmMethodSignature signature) { /* diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionGenerationStrategy.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionGenerationStrategy.java index 76cb049fb85..86d934bc9c0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionGenerationStrategy.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionGenerationStrategy.java @@ -102,24 +102,14 @@ public abstract class FunctionGenerationStrategy { @NotNull MethodContext context, @Nullable MemberCodegen parentCodegen ) { - ExpressionCodegen codegen = initializeExpressionCodegen(signature, context, mv, signature.getAsmMethod().getReturnType(), parentCodegen); + ExpressionCodegen codegen = new ExpressionCodegen(mv, getFrameMap(state.getTypeMapper(), context), + signature.getAsmMethod().getReturnType(), context, state, parentCodegen); doGenerateBody(codegen, signature); generateLocalVarNames(codegen); } abstract public void doGenerateBody(@NotNull ExpressionCodegen codegen, @NotNull JvmMethodSignature signature); - @NotNull - public ExpressionCodegen initializeExpressionCodegen( - JvmMethodSignature signature, - MethodContext context, - MethodVisitor mv, - Type returnType, - MemberCodegen parentCodegen - ) { - return new ExpressionCodegen(mv, getFrameMap(state.getTypeMapper(), context), returnType, context, state, parentCodegen); - } - public void generateLocalVarNames(@NotNull ExpressionCodegen codegen) { for (String name : codegen.getLocalVariableNamesForExpression()) { addLocalVariableName(name);