From 48a38f18204de924de20bb26a567a6eb5da09f79 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Fri, 13 Jul 2018 15:11:29 +0200 Subject: [PATCH] Do not try inexact resolve on scripts Script light psi depends on script definition which is costly to compute correctly #KT-25395 Fixed --- .../caches/lightClasses/IDELightClassContexts.kt | 12 ------------ .../caches/resolve/IDELightClassGenerationSupport.kt | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt index 205d2a542df..0908c4a90c1 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt @@ -168,18 +168,6 @@ internal object IDELightClassContexts { return IDELightClassConstructionContext(resolveSession.bindingContext, resolveSession.moduleDescriptor, LIGHT) } - fun lightContextForScript(script: KtScript): LightClassConstructionContext { - val resolveSession = setupAdHocResolve( - script.project, - script.getResolutionFacade().moduleDescriptor, - listOf(script.containingKtFile) - ) - - ForceResolveUtil.forceResolveAllContents(resolveSession.resolveToDescriptor(script)) - - return IDELightClassConstructionContext(resolveSession.bindingContext, resolveSession.moduleDescriptor, LIGHT) - } - private fun isDummyResolveApplicable(classOrObject: KtClassOrObject): Boolean { if (classOrObject.hasLightClassMatchingErrors) return false diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt index 53b598dc6b8..35b905fa047 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt @@ -71,7 +71,7 @@ class IDELightClassGenerationSupport(project: Project) : LightClassGenerationSup return LazyLightClassDataHolder.ForScript( builder, exactContextProvider = { IDELightClassContexts.contextForScript(script) }, - dummyContextProvider = { IDELightClassContexts.lightContextForScript(script) }, + dummyContextProvider = { null }, diagnosticsHolderProvider = { script.getDiagnosticsHolder() } ) }