From f2b478f304d19f53ab82edc022df2b8745863b5e Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 22 Mar 2018 13:16:30 +0300 Subject: [PATCH] Rename: analyzeFullyAndGetResult -> analyzeWithAllCompilerChecks in resolutionApi.kt --- .../jetbrains/kotlin/idea/caches/resolve/resolutionApi.kt | 6 +++--- .../jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt | 4 ++-- .../jetbrains/kotlin/idea/project/ResolveElementCache.kt | 2 +- .../kotlin/idea/debugger/evaluate/KotlinDebuggerCaches.kt | 4 ++-- .../kotlin/idea/scratch/compile/KtCompilingExecutor.kt | 4 ++-- .../kotlin/idea/inspections/KotlinCleanupInspection.kt | 4 ++-- .../createFromUsage/callableBuilder/CallableBuilder.kt | 6 ++++-- .../createCallable/CreateIteratorFunctionActionFactory.kt | 4 ++-- .../CreateParameterByNamedArgumentActionFactory.kt | 6 +++--- .../createVariable/CreateParameterByRefActionFactory.kt | 4 ++-- .../kotlin/idea/highlighter/AbstractDslHighlighterTest.kt | 4 ++-- .../kotlin/idea/refactoring/rename/AbstractRenameTest.kt | 4 ++-- 12 files changed, 27 insertions(+), 25 deletions(-) diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/caches/resolve/resolutionApi.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/caches/resolve/resolutionApi.kt index de43abdc382..b655a16df55 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/caches/resolve/resolutionApi.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/caches/resolve/resolutionApi.kt @@ -140,14 +140,14 @@ fun KtElement.analyzeFully(): BindingContext = getResolutionFacade().analyzeFull // for the given element and its children (including diagnostics, trace slices, descriptors, etc.) // Not recommended to call both of them without real need // See also KotlinResolveCache, KotlinResolveDataProvider -fun KtFile.analyzeFullyAndGetResult(vararg extraFiles: KtFile): AnalysisResult = +fun KtFile.analyzeWithAllCompilerChecks(vararg extraFiles: KtFile): AnalysisResult = KotlinCacheService.getInstance(project).getResolutionFacade(listOf(this) + extraFiles.toList()).analyzeFullyAndGetResult(listOf(this)) @Deprecated( - "Use either KtFile.analyzeFullyAndGetResult() or KtElement.analyzeAndGetResult()", + "Use either KtFile.analyzeWithAllCompilerChecks() or KtElement.analyzeAndGetResult()", ReplaceWith("analyzeAndGetResult()") ) -fun KtElement.analyzeFullyAndGetResult(): AnalysisResult = getResolutionFacade().analyzeFullyAndGetResult(listOf(this)) +fun KtElement.analyzeWithAllCompilerChecks(): AnalysisResult = getResolutionFacade().analyzeFullyAndGetResult(listOf(this)) // this method don't check visibility and collect all descriptors with given fqName fun ResolutionFacade.resolveImportReference( diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt index 446e9edac47..884100591f4 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt @@ -43,7 +43,7 @@ import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.diagnostics.Severity import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.inspections.KotlinUniversalQuickFix import org.jetbrains.kotlin.idea.quickfix.QuickFixes import org.jetbrains.kotlin.idea.references.mainReference @@ -64,7 +64,7 @@ open class KotlinPsiChecker : Annotator, HighlightRangeExtension { if (!KotlinHighlightingUtil.shouldHighlight(file)) return - val analysisResult = file.analyzeFullyAndGetResult() + val analysisResult = file.analyzeWithAllCompilerChecks() if (analysisResult.isError()) { throw ProcessCanceledException(analysisResult.error) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt index 8c9c91c0d86..7a3e802fafe 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt @@ -72,7 +72,7 @@ class ResolveElementCache( } } - // drop whole cache after change "out of code block" + // drop whole cache after change "out of code block", each entry is checked with own modification stamp private val fullResolveCache: CachedValue> = CachedValuesManager.getManager(project).createCachedValue( CachedValueProvider> { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinDebuggerCaches.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinDebuggerCaches.kt index 4c725854743..e6a45f49540 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinDebuggerCaches.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinDebuggerCaches.kt @@ -38,7 +38,7 @@ import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.idea.caches.resolve.analyzeAndGetResult -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.debugger.BinaryCacheKey import org.jetbrains.kotlin.idea.debugger.BytecodeDebugInfo import org.jetbrains.kotlin.idea.debugger.WeakBytecodeDebugInfoStorage @@ -183,7 +183,7 @@ class KotlinDebuggerCaches(project: Project) { private fun createTypeMapperForSourceFile(file: KtFile): KotlinTypeMapper = runInReadActionWithWriteActionPriorityWithPCE { - createTypeMapper(file, file.analyzeFullyAndGetResult().apply(AnalysisResult::throwIfError)) + createTypeMapper(file, file.analyzeWithAllCompilerChecks().apply(AnalysisResult::throwIfError)) } private fun createTypeMapper(file: KtFile, analysisResult: AnalysisResult): KotlinTypeMapper { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/compile/KtCompilingExecutor.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/compile/KtCompilingExecutor.kt index b9a8f58e03e..4eafe0b994d 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/compile/KtCompilingExecutor.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/compile/KtCompilingExecutor.kt @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.console.KotlinConsoleKeeper import org.jetbrains.kotlin.diagnostics.Severity import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.debugger.DebuggerUtils import org.jetbrains.kotlin.idea.refactoring.getLineNumber @@ -164,7 +164,7 @@ class KtCompilingExecutor(file: ScratchFile) : ScratchExecutor(file) { return@runReadAction false } - val analysisResult = psiFile.analyzeFullyAndGetResult() + val analysisResult = psiFile.analyzeWithAllCompilerChecks() if (analysisResult.isError()) { handlers.forEach { it.error(file, analysisResult.error.message ?: "Couldn't compile ${psiFile.name}") } diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt index 7b869617b0d..c23c64625eb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt @@ -26,7 +26,7 @@ import com.intellij.psi.PsiFile import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.highlighter.KotlinPsiChecker import org.jetbrains.kotlin.idea.quickfix.CleanupFix import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction @@ -50,7 +50,7 @@ class KotlinCleanupInspection : LocalInspectionTool(), CleanupLocalInspectionToo return null } - val analysisResult = file.analyzeFullyAndGetResult() + val analysisResult = file.analyzeWithAllCompilerChecks() if (analysisResult.isError()) { throw ProcessCanceledException(analysisResult.error) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index 0c7b585f871..abd8b06f7eb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -41,7 +41,9 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.impl.MutablePackageFragmentDescriptor import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.TypeParameterDescriptorImpl -import org.jetbrains.kotlin.idea.caches.resolve.* +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent +import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaClassDescriptor import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.core.* @@ -161,7 +163,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { private val elementsToShorten = ArrayList() private fun updateCurrentModule() { - _currentFileModule = config.currentFile.analyzeFullyAndGetResult().moduleDescriptor + _currentFileModule = config.currentFile.analyzeWithAllCompilerChecks().moduleDescriptor } fun computeTypeCandidates(typeInfo: TypeInfo): List = diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateIteratorFunctionActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateIteratorFunctionActionFactory.kt index 1ca0b47c3f0..78236fecfb8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateIteratorFunctionActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateIteratorFunctionActionFactory.kt @@ -17,7 +17,7 @@ package org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.CallableInfo import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.FunctionInfo @@ -45,7 +45,7 @@ object CreateIteratorFunctionActionFactory : CreateCallableMemberFromUsageFactor val variableExpr: KtExpression = ((element.loopParameter ?: element.destructuringDeclaration) ?: return null) as KtExpression val iterableType = TypeInfo(iterableExpr, Variance.IN_VARIANCE) - val (bindingContext, moduleDescriptor) = file.analyzeFullyAndGetResult() + val (bindingContext, moduleDescriptor) = file.analyzeWithAllCompilerChecks() val returnJetType = moduleDescriptor.builtIns.iterator.defaultType val returnJetTypeParameterTypes = variableExpr.guessTypes(bindingContext, moduleDescriptor) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt index 73b2bcade70..25db9b23885 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt @@ -18,11 +18,11 @@ package org.jetbrains.kotlin.idea.quickfix.createFromUsage.createVariable import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil -import org.jetbrains.kotlin.idea.refactoring.canRefactor import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.guessTypes +import org.jetbrains.kotlin.idea.refactoring.canRefactor import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinParameterInfo import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinTypeInfo import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinValVar @@ -38,7 +38,7 @@ object CreateParameterByNamedArgumentActionFactory: CreateParameterFromUsageFact } override fun extractFixData(element: KtValueArgument, diagnostic: Diagnostic): CreateParameterData? { - val result = (diagnostic.psiFile as? KtFile)?.analyzeFullyAndGetResult() ?: return null + val result = (diagnostic.psiFile as? KtFile)?.analyzeWithAllCompilerChecks() ?: return null val context = result.bindingContext val name = element.getArgumentName()?.text ?: return null diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByRefActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByRefActionFactory.kt index 3d2cc0999a6..1dbd0421307 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByRefActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByRefActionFactory.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptorWithResolutionScopes import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.getExpressionForTypeGuess @@ -51,7 +51,7 @@ object CreateParameterByRefActionFactory : CreateParameterFromUsageFactory? { - val (context, moduleDescriptor) = (element.containingFile as? KtFile)?.analyzeFullyAndGetResult() ?: return null + val (context, moduleDescriptor) = (element.containingFile as? KtFile)?.analyzeWithAllCompilerChecks() ?: return null val varExpected = element.getAssignmentByLHS() != null diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDslHighlighterTest.kt b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDslHighlighterTest.kt index 853ff602140..0b7e07aa7e7 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDslHighlighterTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDslHighlighterTest.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.highlighter import com.intellij.psi.PsiComment import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.highlighter.dsl.DslHighlighterExtension import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.psi.KtElement @@ -21,7 +21,7 @@ abstract class AbstractDslHighlighterTest : LightCodeInsightFixtureTestCase() { protected fun doTest(filePath: String) { val psiFile = myFixture.configureByFile(filePath) as KtFile val extension = DslHighlighterExtension() - val bindingContext = psiFile.analyzeFullyAndGetResult().bindingContext + val bindingContext = psiFile.analyzeWithAllCompilerChecks().bindingContext fun checkCall(element: KtElement) { val call = element.getResolvedCall(bindingContext) ?: return diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt index 5ba1795d857..206d03cb07f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt @@ -54,7 +54,7 @@ import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.findClassAcrossModuleDependencies -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithAllCompilerChecks import org.jetbrains.kotlin.idea.jsonUtils.getNullableString import org.jetbrains.kotlin.idea.jsonUtils.getString import org.jetbrains.kotlin.idea.references.mainReference @@ -300,7 +300,7 @@ abstract class AbstractRenameTest : KotlinLightCodeInsightFixtureTestCase() { doTestCommittingDocuments(context) { val ktFile = myFixture.configureFromTempProjectFile(mainFilePath) as KtFile - val module = ktFile.analyzeFullyAndGetResult().moduleDescriptor + val module = ktFile.analyzeWithAllCompilerChecks().moduleDescriptor val (declaration, scopeToSearch) = if (classIdStr != null) { module.findClassAcrossModuleDependencies(classIdStr.toClassId())!!.let { it to it.defaultType.memberScope }