diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java index 31534a94552..781abd15869 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java @@ -87,11 +87,12 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns afterAnchor = added; elementsToCompact.add((JetElement) added); } + ReferenceToClassesShortening.compactReferenceToClasses(elementsToCompact); + if (!body.isPhysical()) { classOrObject.add(JetPsiFactory.createWhiteSpace(project)); classOrObject.add(body); } - ReferenceToClassesShortening.compactReferenceToClasses(elementsToCompact); } @Nullable diff --git a/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt b/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt new file mode 100644 index 00000000000..207375dd207 --- /dev/null +++ b/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt @@ -0,0 +1,6 @@ +// From KT-1254 +trait T { + fun Foo() : (String) -> Unit +} + +class C : T \ No newline at end of file diff --git a/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt.after b/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt.after new file mode 100644 index 00000000000..a45b0a7ee27 --- /dev/null +++ b/idea/testData/codeInsight/overrideImplement/emptyClassBodyFunctionMethod.kt.after @@ -0,0 +1,10 @@ +// From KT-1254 +trait T { + fun Foo() : (String) -> Unit +} + +class C : T { + override fun Foo(): (String) -> Unit { + throw UnsupportedOperationException() + } +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementTest.java index 6f649a1b5c3..b7fe069ca3d 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementTest.java @@ -54,6 +54,10 @@ public class OverrideImplementTest extends LightCodeInsightFixtureTestCase { myFixture.setTestDataPath(PluginTestCaseBase.getTestDataPathBase() + "/codeInsight/overrideImplement"); } + public void testEmptyClassBodyFunctionMethod() { + doImplementFileTest(); + } + public void testFunctionMethod() { doImplementFileTest(); }