diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java index 6f09b27d9d5..0061848a8aa 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java @@ -983,7 +983,7 @@ public class JetControlFlowProcessor { generateInstructions(specifier, context); } List declarations = classOrObject.getDeclarations(); - if (JetPsiUtil.isLocal(classOrObject)) { + if (classOrObject.isLocal()) { for (JetDeclaration declaration : declarations) { generateInstructions(declaration, context); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java index 758f705d4b2..af4025e05dc 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java @@ -215,4 +215,9 @@ public class JetClass extends JetTypeParameterListOwnerStub imp public boolean isTopLevel() { return getContainingFile() == getParent(); } + + @Override + public boolean isLocal() { + return JetPsiUtil.isLocal(this); + } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassOrObject.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassOrObject.java index 158d1a351cc..baf4e892ac7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassOrObject.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassOrObject.java @@ -51,4 +51,6 @@ public interface JetClassOrObject extends PsiNameIdentifierOwner, JetDeclaration JetClassBody getBody(); boolean isTopLevel(); + + boolean isLocal(); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectDeclaration.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectDeclaration.java index 7e01e558151..61ad922b993 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectDeclaration.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectDeclaration.java @@ -139,6 +139,11 @@ public class JetObjectDeclaration extends JetNamedDeclarationStub getDeclarations() { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java index c7032d0f603..9cf2d0646b0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java @@ -310,7 +310,7 @@ public class JetPsiUtil { public static void deleteClass(@NotNull JetClassOrObject clazz) { CheckUtil.checkWritable(clazz); JetFile file = clazz.getContainingJetFile(); - if (isLocal(clazz) || file.getDeclarations().size() > 1) { + if (clazz.isLocal() || file.getDeclarations().size() > 1) { PsiElement parent = clazz.getParent(); CodeEditUtil.removeChild(parent.getNode(), clazz.getNode()); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java index b47edc67d5b..cf134082c95 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java @@ -67,7 +67,7 @@ public class JetClassElementType extends JetStubElementType superNames = PsiUtilPackage.getSuperNames(psi); return new PsiJetObjectStubImpl(parentStub, StringRef.fromString(name), fqName, Utils.instance$.wrapStrings(superNames), - psi.isTopLevel(), isClassObject(psi), JetPsiUtil.isLocal(psi), psi.isObjectLiteral()); + psi.isTopLevel(), isClassObject(psi), psi.isLocal(), psi.isObjectLiteral()); } @Override diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinJavaFileStubProvider.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinJavaFileStubProvider.java index d2dad0eb3b0..97a11ee0d83 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinJavaFileStubProvider.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinJavaFileStubProvider.java @@ -49,7 +49,6 @@ import org.jetbrains.jet.codegen.state.Progress; import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.psi.JetClassOrObject; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.resolve.name.FqName; @@ -120,7 +119,7 @@ public class KotlinJavaFileStubProvider implements Cache public static KotlinJavaFileStubProvider createForDeclaredClass(@NotNull final JetClassOrObject classOrObject) { return new KotlinJavaFileStubProvider( classOrObject.getProject(), - JetPsiUtil.isLocal(classOrObject), + classOrObject.isLocal(), new StubGenerationStrategy() { private JetFile getFile() { return classOrObject.getContainingJetFile(); @@ -198,7 +197,7 @@ public class KotlinJavaFileStubProvider implements Cache return true; } - if (JetPsiUtil.isLocal(generatedClassOrObject) && JetPsiUtil.isLocal(classOrObject)) { + if (generatedClassOrObject.isLocal() && classOrObject.isLocal()) { // Local classes should be process by CodegenAnnotatingVisitor to // decide what class they should be placed in. // diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java index 13091e2f420..c0cf4e75fa3 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java @@ -82,7 +82,7 @@ public class KotlinLightClassForExplicitDeclaration extends KotlinWrappingLightC } private static String getJvmInternalName(JetClassOrObject classOrObject) { - if (JetPsiUtil.isLocal(classOrObject)) { + if (classOrObject.isLocal()) { LightClassDataForKotlinClass data = getLightClassDataExactly(classOrObject); return data != null ? data.getJvmInternalName() : ""; } @@ -97,7 +97,7 @@ public class KotlinLightClassForExplicitDeclaration extends KotlinWrappingLightC @Nullable @Override protected PsiElement compute() { - if (JetPsiUtil.isLocal(classOrObject)) { + if (classOrObject.isLocal()) { //noinspection unchecked PsiElement declaration = JetPsiUtil.getTopmostParentOfTypes( classOrObject, diff --git a/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java b/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java index 52e399e17d0..8ffc163cb19 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java @@ -97,7 +97,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport public LightClassConstructionContext getContextForClassOrObject(@NotNull JetClassOrObject classOrObject) { ResolveSessionForBodies session = ResolvePackage.getLazyResolveSession(classOrObject); - if (JetPsiUtil.isLocal(classOrObject)) { + if (classOrObject.isLocal()) { BindingContext bindingContext = session.resolveToElement(classOrObject); ClassDescriptor descriptor = bindingContext.get(BindingContext.CLASS, classOrObject);