diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java index 538fa4ddec2..6926ce24f1c 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java @@ -33,6 +33,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.lang.JetStandardClasses; import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; @@ -137,6 +138,9 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns else { bodyBuilder.append("val "); } + + addReceiverParameter(descriptor, bodyBuilder); + bodyBuilder.append(descriptor.getName()).append(" : ").append(DescriptorRenderer.COMPACT.renderTypeWithShortNames( descriptor.getType())); String initializer = defaultInitializer(descriptor.getType(), JetStandardLibrary.getInstance()); @@ -189,9 +193,7 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns bodyBuilder.append("> "); } - if(descriptor.getReceiverParameter().exists()) { - bodyBuilder.append(descriptor.getReceiverParameter().getType()).append("."); - } + addReceiverParameter(descriptor, bodyBuilder); bodyBuilder.append(descriptor.getName()).append("("); boolean isAbstractFun = descriptor.getModality() == Modality.ABSTRACT; @@ -239,6 +241,13 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns return JetPsiFactory.createFunction(project, bodyBuilder.toString()); } + private static void addReceiverParameter(CallableDescriptor descriptor, StringBuilder bodyBuilder) { + ReceiverDescriptor receiverParameter = descriptor.getReceiverParameter(); + if (receiverParameter.exists()) { + bodyBuilder.append(receiverParameter.getType()).append("."); + } + } + private static String defaultInitializer(JetType returnType, JetStandardLibrary stdlib) { if (returnType.isNullable()) { return "null";