From 767eb049302f721776c6c6095c762bfcf865f5a8 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Mon, 21 Apr 2014 18:25:17 +0400 Subject: [PATCH] JetElement.getContainingJetFile() introduced --- .../src/org/jetbrains/jet/codegen/ExpressionCodegen.java | 2 +- .../src/org/jetbrains/jet/codegen/PackageCodegen.java | 2 +- .../jet/codegen/binding/PsiCodegenPredictor.java | 2 +- .../org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java | 4 ++-- .../src/org/jetbrains/jet/lang/psi/JetElement.java | 3 +++ .../src/org/jetbrains/jet/lang/psi/JetElementImpl.java | 9 +++++++++ .../org/jetbrains/jet/lang/psi/JetElementImplStub.java | 9 +++++++++ .../frontend/src/org/jetbrains/jet/lang/psi/JetFile.java | 6 ++++++ .../src/org/jetbrains/jet/lang/psi/JetPsiUtil.java | 4 ++-- .../org/jetbrains/jet/lang/resolve/ImportsResolver.java | 2 +- .../jetbrains/jet/lang/resolve/LazyTopDownAnalyzer.java | 2 +- .../jetbrains/jet/lang/resolve/ScriptHeaderResolver.java | 2 +- .../org/jetbrains/jet/lang/resolve/ScriptNameUtil.java | 2 +- .../jet/lang/resolve/ScriptParameterResolver.java | 2 +- .../jetbrains/jet/lang/resolve/lazy/LazyImportScope.java | 2 +- .../resolve/lazy/descriptors/LazyPackageMemberScope.java | 2 +- .../resolve/lazy/descriptors/LazyScriptDescriptor.kt | 4 ++-- .../jetbrains/jet/asJava/KotlinJavaFileStubProvider.java | 2 +- .../asJava/KotlinLightClassForExplicitDeclaration.java | 4 ++-- .../caches/resolve/IDELightClassGenerationSupport.java | 2 +- .../plugin/caches/resolve/KotlinCacheManagerUtil.java | 4 ++-- .../jet/plugin/caches/resolve/KotlinResolveCache.kt | 2 +- .../codeInsight/OverrideImplementMethodsHandler.java | 2 +- .../jet/plugin/codeInsight/ShortenReferences.kt | 2 +- .../jet/plugin/completion/JetPackagesContributor.java | 2 +- .../intentions/MoveLambdaInsideParenthesesIntention.kt | 2 +- .../jet/plugin/intentions/RemoveExplicitTypeArguments.kt | 2 +- .../intentions/ReplaceWithInfixFunctionCallIntention.kt | 2 +- .../plugin/intentions/SpecifyTypeExplicitlyAction.java | 4 ++-- idea/src/org/jetbrains/jet/plugin/intentions/Utils.kt | 4 ++-- .../jet/plugin/libraries/JetSourceNavigationHelper.java | 6 +++--- .../parameterInfo/JetFunctionParameterInfoHandler.java | 2 +- .../jet/plugin/project/AnalyzerFacadeWithCache.java | 2 +- .../jet/plugin/project/ResolveElementCache.java | 8 ++++---- .../jet/plugin/projectView/JetClassOrObjectTreeNode.java | 2 +- .../jet/plugin/quickfix/AddNameToArgumentFix.java | 2 +- .../org/jetbrains/jet/plugin/quickfix/AutoImportFix.java | 2 +- .../quickfix/ChangeFunctionLiteralReturnTypeFix.java | 2 +- .../jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java | 4 ++-- .../jet/plugin/quickfix/ChangeFunctionSignatureFix.java | 2 +- .../jet/plugin/quickfix/ChangeVariableTypeFix.java | 4 ++-- .../org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java | 2 +- .../refactoring/inline/KotlinInlineValHandler.java | 4 ++-- .../KotlinIntroduceVariableHandler.java | 2 +- .../KotlinMoveFilesOrDirectoriesHandler.java | 2 +- .../refactoring/rename/RenameJetClassProcessor.java | 2 +- .../jetbrains/jet/plugin/util/JetPsiHeuristicsUtil.java | 2 +- .../conversion/SeveralMethodsSample.expected.kt | 2 +- .../copyPaste/conversion/SeveralMethodsSample.java | 2 +- .../codeInsight/AbstractOverrideImplementTest.java | 4 ++-- 50 files changed, 89 insertions(+), 62 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 29c4f8ef0e2..00da492f73b 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -1960,7 +1960,7 @@ public class ExpressionCodegen extends JetVisitor implem KotlinSyntheticClass.Kind.SAM_LAMBDA); } - Type asmType = state.getSamWrapperClasses().getSamWrapperClass(samInterface, (JetFile) expression.getContainingFile()); + Type asmType = state.getSamWrapperClasses().getSamWrapperClass(samInterface, expression.getContainingJetFile()); v.anew(asmType); v.dup(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java index da3b97441ed..a6dae650626 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java @@ -344,7 +344,7 @@ public class PackageCodegen extends GenerationStateAware { } public void generateClassOrObject(@NotNull JetClassOrObject classOrObject) { - JetFile file = (JetFile) classOrObject.getContainingFile(); + JetFile file = classOrObject.getContainingJetFile(); Type packagePartType = getPackagePartType(getPackageClassFqName(packageFragment.getFqName()), file.getVirtualFile()); CodegenContext context = CodegenContext.STATIC.intoPackagePart(packageFragment, packagePartType); MemberCodegen.genClassOrObject(context, classOrObject, state, null); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java index c1815150060..f89b66ca808 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java @@ -80,7 +80,7 @@ public final class PsiCodegenPredictor { } } else { - FqName packageFqName = ((JetFile) declaration.getContainingFile()).getPackageFqName(); + FqName packageFqName = declaration.getContainingJetFile().getPackageFqName(); if (declaration instanceof JetNamedFunction) { JvmClassName packageClass = JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(packageFqName)); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java index 475a6c0c60b..9dcba8fba26 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java @@ -368,8 +368,8 @@ public class ReplInterpreter { state.beforeCompile(); KotlinCodegenFacade.generatePackage( state, - ((JetFile) script.getContainingFile()).getPackageFqName(), - Collections.singleton((JetFile) script.getContainingFile()), + script.getContainingJetFile().getPackageFqName(), + Collections.singleton(script.getContainingJetFile()), errorHandler); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java index 849ea818250..fe42325eb42 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java @@ -20,6 +20,9 @@ import com.intellij.psi.NavigatablePsiElement; import org.jetbrains.annotations.NotNull; public interface JetElement extends NavigatablePsiElement { + @NotNull + JetFile getContainingJetFile(); + void acceptChildren(@NotNull JetTreeVisitor visitor, D data); R accept(@NotNull JetVisitor visitor, D data); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java index db811f60944..d6f19262842 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java @@ -20,6 +20,7 @@ import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.PsiFile; import com.intellij.psi.PsiReference; import com.intellij.psi.PsiReferenceService; import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry; @@ -52,6 +53,14 @@ public class JetElementImpl extends ASTWrapperPsiElement implements JetElement { } } + @NotNull + @Override + public JetFile getContainingJetFile() { + PsiFile file = getContainingFile(); + assert file instanceof JetFile : "JetElement not inside JetFile: " + file + " " + file.getText(); + return (JetFile) file; + } + @Override public void acceptChildren(@NotNull JetTreeVisitor visitor, D data) { JetPsiUtil.visitChildren(this, visitor, data); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImplStub.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImplStub.java index 7720922708d..1024fe2197f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImplStub.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImplStub.java @@ -21,6 +21,7 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.PsiFile; import com.intellij.psi.StubBasedPsiElement; import com.intellij.psi.stubs.IStubElementType; import com.intellij.psi.stubs.StubElement; @@ -58,6 +59,14 @@ public class JetElementImplStub extends StubBasedPsiEleme } } + @NotNull + @Override + public JetFile getContainingJetFile() { + PsiFile file = getContainingFile(); + assert file instanceof JetFile : "JetElement not inside JetFile: " + file + " " + file.getText(); + return (JetFile) file; + } + @Override public void acceptChildren(@NotNull JetTreeVisitor visitor, D data) { PsiElement child = getFirstChild(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFile.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFile.java index 0712ace76db..5c27804f96a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFile.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFile.java @@ -160,6 +160,12 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet } } + @NotNull + @Override + public JetFile getContainingJetFile() { + return this; + } + @Override public void acceptChildren(@NotNull JetTreeVisitor visitor, D data) { JetPsiUtil.visitChildren(this, visitor, data); 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 2c3a2560357..01c66436793 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java @@ -321,7 +321,7 @@ public class JetPsiUtil { public static void deleteClass(@NotNull JetClassOrObject clazz) { CheckUtil.checkWritable(clazz); - JetFile file = (JetFile) clazz.getContainingFile(); + JetFile file = clazz.getContainingJetFile(); if (isLocal(clazz) || file.getDeclarations().size() > 1) { PsiElement parent = clazz.getParent(); CodeEditUtil.removeChild(parent.getNode(), clazz.getNode()); @@ -912,7 +912,7 @@ public class JetPsiUtil { @Nullable public static String getPackageName(@NotNull JetElement element) { - JetFile file = (JetFile) element.getContainingFile(); + JetFile file = element.getContainingJetFile(); JetPackageDirective header = PsiTreeUtil.findChildOfType(file, JetPackageDirective.class); return header != null ? header.getQualifiedName() : null; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java index 8a722ca5833..b77df66c3c0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java @@ -82,7 +82,7 @@ public class ImportsResolver { // SCRIPT: process script import directives for (JetScript script : c.getScripts().keySet()) { WritableScope scriptScope = ((ScriptDescriptorImpl) c.getScripts().get(script)).getScopeForBodyResolution(); - processImportsInFile(lookupMode, scriptScope, ((JetFile) script.getContainingFile()).getImportDirectives(), true); + processImportsInFile(lookupMode, scriptScope, script.getContainingJetFile().getImportDirectives(), true); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LazyTopDownAnalyzer.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LazyTopDownAnalyzer.java index ee660ac8a11..6b506d86917 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LazyTopDownAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LazyTopDownAnalyzer.java @@ -236,7 +236,7 @@ public class LazyTopDownAnalyzer { } for (JetScript script : c.getScripts().keySet()) { - resolveAndCheckImports((JetFile) script.getContainingFile(), resolveSession); + resolveAndCheckImports(script.getContainingJetFile(), resolveSession); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java index 6c27e0ff337..529285d2586 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java @@ -64,7 +64,7 @@ public class ScriptHeaderResolver { public void processScriptHierarchy(@NotNull TopDownAnalysisContext c, @NotNull JetScript script, @NotNull WritableScope outerScope) { - JetFile file = (JetFile) script.getContainingFile(); + JetFile file = script.getContainingJetFile(); FqName fqName = file.getPackageFqName(); PackageFragmentDescriptor ns = packageFragmentProvider.getOrCreateFragment(fqName); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java index 5bbfa1c911d..cb3f3af58ab 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java @@ -30,7 +30,7 @@ public class ScriptNameUtil { @NotNull public static FqName classNameForScript(JetScript script) { - JetFile file = (JetFile) script.getContainingFile(); + JetFile file = script.getContainingJetFile(); JetScriptDefinition scriptDefinition = JetScriptDefinitionProvider.getInstance(file.getProject()).findScriptDefinition(file); String name = file.getName(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptParameterResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptParameterResolver.java index 39087f4677b..e9e1d37108f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptParameterResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptParameterResolver.java @@ -54,7 +54,7 @@ public class ScriptParameterResolver { ) { List valueParameters = Lists.newArrayList(); - JetFile file = (JetFile) declaration.getContainingFile(); + JetFile file = declaration.getContainingJetFile(); JetScriptDefinition scriptDefinition = JetScriptDefinitionProvider.getInstance(file.getProject()).findScriptDefinition(file); int index = 0; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyImportScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyImportScope.java index 4172e9ff5ac..01336df92b3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyImportScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyImportScope.java @@ -177,7 +177,7 @@ public class LazyImportScope implements JetScope, LazyEntity { ImportResolveStatus status = importedScopesProvider.invoke(importDirective).importResolveStatus; if (status != null && !status.descriptors.isEmpty()) { - JetScope fileScope = resolveSession.getScopeProvider().getFileScope((JetFile) importDirective.getContainingFile()); + JetScope fileScope = resolveSession.getScopeProvider().getFileScope(importDirective.getContainingJetFile()); ImportsResolver.reportUselessImport(importDirective, fileScope, status.descriptors, traceForImportResolve); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyPackageMemberScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyPackageMemberScope.java index d72d4acce3b..9f7e856a994 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyPackageMemberScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyPackageMemberScope.java @@ -55,7 +55,7 @@ public class LazyPackageMemberScope extends AbstractLazyMemberScope resolveSession.getPackageFragment(fqName).sure("Package not found $fqName") }, @@ -102,7 +102,7 @@ public class LazyScriptDescriptor( return ChainedScope( this, "Scope for body resolution for " + this, - resolveSession.getScopeProvider().getFileScope(jetScript.getContainingFile() as JetFile), + resolveSession.getScopeProvider().getFileScope(jetScript.getContainingJetFile()), parametersScope ) } 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 2045a12af71..0a87a36e399 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 @@ -124,7 +124,7 @@ public class KotlinJavaFileStubProvider implements Cache JetPsiUtil.isLocal(classOrObject), new StubGenerationStrategy() { private JetFile getFile() { - return (JetFile) classOrObject.getContainingFile(); + return classOrObject.getContainingJetFile(); } @NotNull 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 f71235b46d9..12d1b927c99 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 @@ -66,7 +66,7 @@ public class KotlinLightClassForExplicitDeclaration extends KotlinWrappingLightC @Nullable public static KotlinLightClassForExplicitDeclaration create(@NotNull PsiManager manager, @NotNull JetClassOrObject classOrObject) { - if (LightClassUtil.belongsToKotlinBuiltIns((JetFile) classOrObject.getContainingFile())) { + if (LightClassUtil.belongsToKotlinBuiltIns(classOrObject.getContainingJetFile())) { return null; } @@ -288,7 +288,7 @@ public class KotlinLightClassForExplicitDeclaration extends KotlinWrappingLightC @NotNull @Override public String getPackageName() { - return ((JetFile) classOrObject.getContainingFile()).getPackageFqName().asString(); + return classOrObject.getContainingJetFile().getPackageFqName().asString(); } @NotNull 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 5bba78597d0..282657ac117 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/IDELightClassGenerationSupport.java @@ -95,7 +95,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport @NotNull @Override public LightClassConstructionContext getContextForClassOrObject(@NotNull JetClassOrObject classOrObject) { - ResolveSessionForBodies session = AnalyzerFacadeWithCache.getLazyResolveSessionForFile((JetFile) classOrObject.getContainingFile()); + ResolveSessionForBodies session = AnalyzerFacadeWithCache.getLazyResolveSessionForFile(classOrObject.getContainingJetFile()); if (JetPsiUtil.isLocal(classOrObject)) { BindingContext bindingContext = session.resolveToElement(classOrObject); diff --git a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinCacheManagerUtil.java b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinCacheManagerUtil.java index b2265f632d1..a26da30f374 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinCacheManagerUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinCacheManagerUtil.java @@ -28,13 +28,13 @@ public class KotlinCacheManagerUtil { @NotNull public static KotlinDeclarationsCache getDeclarationsFromProject(@NotNull JetElement element) { - JetFile jetFile = (JetFile) element.getContainingFile(); + JetFile jetFile = element.getContainingJetFile(); return KotlinCacheManager.getInstance(jetFile.getProject()).getDeclarationsFromProject(TargetPlatformDetector.getPlatform(jetFile)); } @NotNull public static BindingContext getDeclarationsBindingContext(@NotNull JetElement element) { - JetFile jetFile = (JetFile) element.getContainingFile(); + JetFile jetFile = element.getContainingJetFile(); KotlinDeclarationsCache declarationsCache = KotlinCacheManager.getInstance(jetFile.getProject()) .getDeclarationsFromProject(TargetPlatformDetector.getPlatform(jetFile)); return declarationsCache.getBindingContext(); diff --git a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt index 349266d7848..061e5c40568 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt @@ -63,7 +63,7 @@ class KotlinResolveCache( try { for (element in task!!.elements) { - val file = element.getContainingFile() as JetFile + val file = element.getContainingJetFile() val virtualFile = file.getVirtualFile() if (LightClassUtil.belongsToKotlinBuiltIns(file) || virtualFile != null && LibraryUtil.findLibraryEntry(virtualFile, file.getProject()) != null) { diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java index 7d7bc4bf4d1..b0b17b4af0c 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java @@ -94,7 +94,7 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns } List elementsToCompact = new ArrayList(); - JetFile file = (JetFile) classOrObject.getContainingFile(); + JetFile file = classOrObject.getContainingJetFile(); for (JetElement element : generateOverridingMembers(selectedElements, file)) { PsiElement added = body.addAfter(element, afterAnchor); afterAnchor = added; diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt b/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt index 68e88bc6c08..d461c5e474e 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt @@ -25,7 +25,7 @@ public object ShortenReferences { } public fun process(elements: Iterable) { - for ((file, fileElements) in elements.groupBy { element -> element.getContainingFile() as JetFile }) { + for ((file, fileElements) in elements.groupBy { element -> element.getContainingJetFile() }) { // first resolve all qualified references - optimization val referenceToContext = JetFileReferencesResolver.resolve(file, fileElements, visitShortNames = false) diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetPackagesContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetPackagesContributor.java index d88d0d49119..6d1abf7245e 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetPackagesContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetPackagesContributor.java @@ -72,7 +72,7 @@ public class JetPackagesContributor extends CompletionContributor { result = result.withPrefixMatcher(new PlainPrefixMatcher(name.substring(0, prefixLength))); ResolveSessionForBodies resolveSession = AnalyzerFacadeWithCache - .getLazyResolveSessionForFile((JetFile) simpleNameReference.getExpression().getContainingFile()); + .getLazyResolveSessionForFile(simpleNameReference.getExpression().getContainingJetFile()); BindingContext bindingContext = resolveSession.resolveToElement(simpleNameReference.getExpression()); for (LookupElement variant : DescriptorLookupConverter.collectLookupElements( diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/MoveLambdaInsideParenthesesIntention.kt b/idea/src/org/jetbrains/jet/plugin/intentions/MoveLambdaInsideParenthesesIntention.kt index 799e00c5136..3c0f5772fb6 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/MoveLambdaInsideParenthesesIntention.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/MoveLambdaInsideParenthesesIntention.kt @@ -44,7 +44,7 @@ public class MoveLambdaInsideParenthesesIntention : JetSelfTargetingIntention { JetExpression callee = callElement.getCalleeExpression(); if (!(callee instanceof JetReferenceExpression)) return Collections.emptyList(); - BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) argument.getContainingFile()).getBindingContext(); + BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache(argument.getContainingJetFile()).getBindingContext(); ResolvedCall resolvedCall = context.get(BindingContext.RESOLVED_CALL, (JetReferenceExpression) callee); if (resolvedCall == null) return Collections.emptyList(); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.java index 87971854f2d..3e67ac3efba 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.java @@ -93,7 +93,7 @@ public class AutoImportFix extends JetHintAction implem } ResolveSessionForBodies resolveSessionForBodies = - AnalyzerFacadeWithCache.getLazyResolveSessionForFile((JetFile) element.getContainingFile()); + AnalyzerFacadeWithCache.getLazyResolveSessionForFile(element.getContainingJetFile()); List result = Lists.newArrayList(); if (!isSuppressedTopLevelImportInPosition(element)) { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralReturnTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralReturnTypeFix.java index 3fd554f6a8c..4b684125d98 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralReturnTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralReturnTypeFix.java @@ -50,7 +50,7 @@ public class ChangeFunctionLiteralReturnTypeFix extends JetIntentionAction public IntentionAction createAction(Diagnostic diagnostic) { JetExpression expression = QuickFixUtil.getParentElementOfType(diagnostic, JetExpression.class); assert expression != null : "HAS_NEXT_FUNCTION_TYPE_MISMATCH reported on element that is not within any expression"; - BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) expression.getContainingFile()).getBindingContext(); + BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache(expression.getContainingJetFile()).getBindingContext(); ResolvedCall resolvedCall = context.get(BindingContext.LOOP_RANGE_HAS_NEXT_RESOLVED_CALL, expression); if (resolvedCall == null) return null; JetFunction hasNextFunction = (JetFunction) BindingContextUtils.descriptorToDeclaration(context, resolvedCall.getCandidateDescriptor()); @@ -184,7 +184,7 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction public IntentionAction createAction(Diagnostic diagnostic) { JetBinaryExpression expression = QuickFixUtil.getParentElementOfType(diagnostic, JetBinaryExpression.class); assert expression != null : "COMPARE_TO_TYPE_MISMATCH reported on element that is not within any expression"; - BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) expression.getContainingFile()).getBindingContext(); + BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache(expression.getContainingJetFile()).getBindingContext(); ResolvedCall resolvedCall = context.get(BindingContext.RESOLVED_CALL, expression.getOperationReference()); if (resolvedCall == null) return null; PsiElement compareTo = BindingContextUtils.descriptorToDeclaration(context, resolvedCall.getCandidateDescriptor()); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java index 3bc35b4b9a3..13e810711e1 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java @@ -164,7 +164,7 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction>) diagnostic; JetFunctionLiteral functionLiteral = diagnosticWithParameters.getPsiElement(); BindingContext bindingContext = - AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) functionLiteral.getContainingFile()).getBindingContext(); + AnalyzerFacadeWithCache.analyzeFileWithCache(functionLiteral.getContainingJetFile()).getBindingContext(); DeclarationDescriptor descriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, functionLiteral); if (descriptor instanceof FunctionDescriptor) { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java index 5cdf75b90e7..6be090a0b9c 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java @@ -109,7 +109,7 @@ public class ChangeVariableTypeFix extends JetIntentionAction resolvedCall = context.get(BindingContext.COMPONENT_RESOLVED_CALL, entry); if (resolvedCall == null) return null; JetFunction componentFunction = (JetFunction) BindingContextUtils.descriptorToDeclaration(context, resolvedCall.getCandidateDescriptor()); @@ -130,7 +130,7 @@ public class ChangeVariableTypeFix extends JetIntentionAction resolvedCall = context.get(BindingContext.RESOLVED_CALL, callExpression.getCalleeExpression()); if (resolvedCall == null) return null; PsiElement declaration = BindingContextUtils.descriptorToDeclaration(context, resolvedCall.getCandidateDescriptor()); diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/inline/KotlinInlineValHandler.java b/idea/src/org/jetbrains/jet/plugin/refactoring/inline/KotlinInlineValHandler.java index 22b271dc9b7..ab020e827f1 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/inline/KotlinInlineValHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/inline/KotlinInlineValHandler.java @@ -254,7 +254,7 @@ public class KotlinInlineValHandler extends InlineActionHandler { } private static void addFunctionLiteralParameterTypes(@NotNull String parameters, @NotNull List inlinedExpressions) { - JetFile containingFile = (JetFile) inlinedExpressions.get(0).getContainingFile(); + JetFile containingFile = inlinedExpressions.get(0).getContainingJetFile(); List functionsToAddParameters = Lists.newArrayList(); ResolveSessionForBodies resolveSessionForBodies = AnalyzerFacadeWithCache.getLazyResolveSessionForFile(containingFile); @@ -314,7 +314,7 @@ public class KotlinInlineValHandler extends InlineActionHandler { } private static void addTypeArguments(@NotNull String typeArguments, @NotNull List inlinedExpressions) { - JetFile containingFile = (JetFile) inlinedExpressions.get(0).getContainingFile(); + JetFile containingFile = inlinedExpressions.get(0).getContainingJetFile(); List callsToAddArguments = Lists.newArrayList(); ResolveSessionForBodies resolveSessionForBodies = AnalyzerFacadeWithCache.getLazyResolveSessionForFile(containingFile); diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.java b/idea/src/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.java index 048b5a744a3..25c861d50fe 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.java @@ -118,7 +118,7 @@ public class KotlinIntroduceVariableHandler extends KotlinIntroduceHandlerBase { } } ResolveSessionForBodies resolveSession = - AnalyzerFacadeWithCache.getLazyResolveSessionForFile((JetFile) expression.getContainingFile()); + AnalyzerFacadeWithCache.getLazyResolveSessionForFile(expression.getContainingJetFile()); BindingContext bindingContext = resolveSession.resolveToElement(expression); final JetType expressionType = bindingContext.get(BindingContext.EXPRESSION_TYPE, expression); //can be null or error type JetScope scope = bindingContext.get(BindingContext.RESOLUTION_SCOPE, expression); diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/move/moveFilesOrDirectories/KotlinMoveFilesOrDirectoriesHandler.java b/idea/src/org/jetbrains/jet/plugin/refactoring/move/moveFilesOrDirectories/KotlinMoveFilesOrDirectoriesHandler.java index 9ce0dc4e31e..573ccd509b7 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/move/moveFilesOrDirectories/KotlinMoveFilesOrDirectoriesHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/move/moveFilesOrDirectories/KotlinMoveFilesOrDirectoriesHandler.java @@ -32,7 +32,7 @@ import java.util.List; public class KotlinMoveFilesOrDirectoriesHandler extends MoveFilesOrDirectoriesHandler { public static boolean isMovableClass(JetClassOrObject clazz) { if (!(clazz.getParent() instanceof JetFile)) return false; - JetFile file = (JetFile) clazz.getContainingFile(); + JetFile file = clazz.getContainingJetFile(); List declarations = file.getDeclarations(); for (JetDeclaration declaration : declarations) { if (declaration instanceof JetClassOrObject && declaration != clazz) return false; diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameJetClassProcessor.java b/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameJetClassProcessor.java index 36844b018c3..0be616c3d0f 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameJetClassProcessor.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameJetClassProcessor.java @@ -50,7 +50,7 @@ public class RenameJetClassProcessor extends RenamePsiElementProcessor { JetClassOrObject classOrObject = getJetClassOrObject(element, false, null); if (classOrObject != null) { - JetFile file = (JetFile) classOrObject.getContainingFile(); + JetFile file = classOrObject.getContainingJetFile(); VirtualFile virtualFile = file.getVirtualFile(); if (virtualFile != null) { diff --git a/idea/src/org/jetbrains/jet/plugin/util/JetPsiHeuristicsUtil.java b/idea/src/org/jetbrains/jet/plugin/util/JetPsiHeuristicsUtil.java index 527af75b93a..ad570a23656 100644 --- a/idea/src/org/jetbrains/jet/plugin/util/JetPsiHeuristicsUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/util/JetPsiHeuristicsUtil.java @@ -44,7 +44,7 @@ public class JetPsiHeuristicsUtil { if (isTopLevelDeclaration(classOrObject) && classOrObject.hasModifier(JetTokens.PRIVATE_KEYWORD)) { // The class is declared private in the targetPackage // It is visible in this package and all of its subpackages - JetFile targetFile = (JetFile) classOrObject.getContainingFile(); + JetFile targetFile = classOrObject.getContainingJetFile(); FqName targetPackage = targetFile.getPackageFqName(); FqName fromPackage = fromFile.getPackageFqName(); diff --git a/idea/testData/copyPaste/conversion/SeveralMethodsSample.expected.kt b/idea/testData/copyPaste/conversion/SeveralMethodsSample.expected.kt index d04b77bd96d..8f51b28815b 100644 --- a/idea/testData/copyPaste/conversion/SeveralMethodsSample.expected.kt +++ b/idea/testData/copyPaste/conversion/SeveralMethodsSample.expected.kt @@ -4,7 +4,7 @@ class A { private fun formatElement(var element: PsiElement): String { element = JetPsiUtil.ascendIfPropertyAccessor(element) if (element is JetNamedFunction || element is JetProperty) { - val bindingContext = AnalyzerFacadeWithCache.analyzeFileWithCache((element.getContainingFile() as JetFile)).getBindingContext() + val bindingContext = AnalyzerFacadeWithCache.analyzeFileWithCache(element.getContainingJetFile()).getBindingContext() val declarationDescriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, element) if (declarationDescriptor is CallableMemberDescriptor) { diff --git a/idea/testData/copyPaste/conversion/SeveralMethodsSample.java b/idea/testData/copyPaste/conversion/SeveralMethodsSample.java index d9243a6edca..dfdde6dc6d4 100644 --- a/idea/testData/copyPaste/conversion/SeveralMethodsSample.java +++ b/idea/testData/copyPaste/conversion/SeveralMethodsSample.java @@ -3,7 +3,7 @@ class A { element = JetPsiUtil.ascendIfPropertyAccessor(element); if (element instanceof JetNamedFunction || element instanceof JetProperty) { BindingContext bindingContext = - AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) element.getContainingFile()).getBindingContext(); + AnalyzerFacadeWithCache.analyzeFileWithCache(element.getContainingJetFile()).getBindingContext(); DeclarationDescriptor declarationDescriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, element); if (declarationDescriptor instanceof CallableMemberDescriptor) { diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractOverrideImplementTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractOverrideImplementTest.java index e92368b66aa..737214ccd87 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractOverrideImplementTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractOverrideImplementTest.java @@ -122,7 +122,7 @@ public abstract class AbstractOverrideImplementTest extends LightCodeInsightFixt final JetClassOrObject classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, JetClassOrObject.class); assertNotNull("Caret should be inside class or object", classOrObject); - final JetFile jetFile = (JetFile) classOrObject.getContainingFile(); + final JetFile jetFile = classOrObject.getContainingJetFile(); final ResolveSessionForBodies resolveSession = AnalyzerFacadeWithCache.getLazyResolveSessionForFile(jetFile); Set descriptors = handler.collectMethodsToGenerate(classOrObject, resolveSession.resolveToElement(classOrObject)); @@ -177,7 +177,7 @@ public abstract class AbstractOverrideImplementTest extends LightCodeInsightFixt final JetClassOrObject classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, JetClassOrObject.class); assertNotNull("Caret should be inside class or object", classOrObject); - final JetFile jetFile = (JetFile) classOrObject.getContainingFile(); + final JetFile jetFile = classOrObject.getContainingJetFile(); final BindingContext bindingContext = AnalyzerFacadeWithCache.getContextForElement(classOrObject); Set descriptors = handler.collectMethodsToGenerate(classOrObject, bindingContext);