KT-1985 Add test case and fix minor bug

Reference compacting must be done before adding body to class.
This commit is contained in:
Vladimir Rudev
2012-11-08 23:23:49 +04:00
parent 0dabbbeed5
commit 2dd47d6339
4 changed files with 22 additions and 1 deletions
@@ -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
@@ -0,0 +1,6 @@
// From KT-1254
trait T {
fun Foo() : (String) -> Unit
}
class C : <caret>T
@@ -0,0 +1,10 @@
// From KT-1254
trait T {
fun Foo() : (String) -> Unit
}
class C : T {
override fun Foo(): (String) -> Unit {
throw UnsupportedOperationException()
}
}
@@ -54,6 +54,10 @@ public class OverrideImplementTest extends LightCodeInsightFixtureTestCase {
myFixture.setTestDataPath(PluginTestCaseBase.getTestDataPathBase() + "/codeInsight/overrideImplement");
}
public void testEmptyClassBodyFunctionMethod() {
doImplementFileTest();
}
public void testFunctionMethod() {
doImplementFileTest();
}