Move: Forbid target annotation classes in class chooser

This commit is contained in:
Alexey Sedunov
2016-01-27 15:00:42 +03:00
parent 8e18bf647e
commit 222dfd265b
@@ -40,7 +40,6 @@ import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.asJava.KtLightClassForExplicitDeclaration; import org.jetbrains.kotlin.asJava.KtLightClassForExplicitDeclaration;
import org.jetbrains.kotlin.asJava.LightClassUtil;
import org.jetbrains.kotlin.asJava.LightClassUtilsKt; import org.jetbrains.kotlin.asJava.LightClassUtilsKt;
import org.jetbrains.kotlin.idea.projectView.KtClassOrObjectTreeNode; import org.jetbrains.kotlin.idea.projectView.KtClassOrObjectTreeNode;
import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfo; import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfo;
@@ -118,14 +117,13 @@ public class MoveKotlinNestedClassesDialog extends RefactoringDialog {
if (!(aClass instanceof KtLightClassForExplicitDeclaration)) return false; if (!(aClass instanceof KtLightClassForExplicitDeclaration)) return false;
KtClassOrObject classOrObject = ((KtLightClassForExplicitDeclaration) aClass).getOrigin(); KtClassOrObject classOrObject = ((KtLightClassForExplicitDeclaration) aClass).getOrigin();
if (classOrObject.isTopLevel()) return true;
if (classOrObject instanceof KtObjectDeclaration) { if (classOrObject instanceof KtObjectDeclaration) {
return !((KtObjectDeclaration) classOrObject).isObjectLiteral(); return !((KtObjectDeclaration) classOrObject).isObjectLiteral();
} }
if (classOrObject instanceof KtClass) { if (classOrObject instanceof KtClass) {
return !((KtClass) classOrObject).isInner(); KtClass ktClass = (KtClass) classOrObject;
return !(ktClass.isInner() || ktClass.isAnnotation());
} }
return false; return false;