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:
-12
@@ -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
|
||||
|
||||
|
||||
+1
-1
@@ -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() }
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user