Do not try inexact resolve on scripts

Script light psi depends on script definition
    which is costly to compute correctly

 #KT-25395 Fixed
This commit is contained in:
Pavel V. Talanov
2018-07-13 15:11:29 +02:00
parent 5b8df2f6f2
commit 48a38f1820
2 changed files with 1 additions and 13 deletions
@@ -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
@@ -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() }
)
}