Merge pull request #656 from JetBrains/rr/yole/kt7483

fix JetPsiUtil.deleteClass() so that it no longer tries to delete the en...
This commit is contained in:
asedunov
2015-04-28 15:49:42 +03:00
4 changed files with 17 additions and 1 deletions
@@ -288,7 +288,7 @@ public class JetPsiUtil {
public static void deleteClass(@NotNull JetClassOrObject clazz) {
CheckUtil.checkWritable(clazz);
JetFile file = clazz.getContainingJetFile();
if (clazz.isLocal() || file.getDeclarations().size() > 1) {
if (!clazz.isTopLevel() || file.getDeclarations().size() > 1) {
PsiElement parent = clazz.getParent();
CodeEditUtil.removeChild(parent.getNode(), clazz.getNode());
}
@@ -0,0 +1,6 @@
class A {
fun foo(): Int = 0
companion ob<caret>ject {}
}
@@ -0,0 +1,4 @@
class A {
fun foo(): Int = 0
}
@@ -133,6 +133,12 @@ public class JetSafeDeleteTestGenerated extends AbstractJetSafeDeleteTest {
doObjectTest(fileName);
}
@TestMetadata("companionObject.kt")
public void testCompanionObject() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/safeDelete/deleteObject/kotlinObject/companionObject.kt");
doObjectTest(fileName);
}
@TestMetadata("localObject1.kt")
public void testLocalObject1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/safeDelete/deleteObject/kotlinObject/localObject1.kt");