Partial cleanup of ResolveElementCache
This commit is contained in:
@@ -31,8 +31,6 @@ import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.frontend.di.createContainerForBodyResolve
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.CodeFragmentAnalyzer
|
||||
import org.jetbrains.kotlin.idea.stubindex.KotlinProbablyNothingFunctionShortNameIndex
|
||||
import org.jetbrains.kotlin.idea.stubindex.KotlinProbablyNothingPropertyShortNameIndex
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
||||
@@ -179,7 +177,8 @@ class ResolveElementCache(
|
||||
|
||||
val (bindingContext, statementFilter) = performElementAdditionalResolve(resolveElement, contextElements, bodyResolveMode)
|
||||
|
||||
if (statementFilter == StatementFilter.NONE) { // partial resolve is not supported for the given declaration - full resolve performed instead
|
||||
if (statementFilter == StatementFilter.NONE) {
|
||||
// partial resolve is not supported for the given declaration - full resolve performed instead
|
||||
fullResolveMap[resolveElement] = CachedFullResolve(bindingContext, resolveElement)
|
||||
return bindingContext
|
||||
}
|
||||
@@ -542,12 +541,12 @@ class ResolveElementCache(
|
||||
val descriptor = resolveSession.resolveToDescriptor(property) as PropertyDescriptor
|
||||
ForceResolveUtil.forceResolveAllContents(descriptor)
|
||||
|
||||
val bodyResolveContext = BodyResolveContextForLazy(TopDownAnalysisMode.LocalDeclarations, { declaration ->
|
||||
val bodyResolveContext = BodyResolveContextForLazy(TopDownAnalysisMode.LocalDeclarations) { declaration ->
|
||||
assert(declaration.parent == property || declaration == property) {
|
||||
"Must be called only for property accessors or for property, but called for $declaration"
|
||||
}
|
||||
resolveSession.declarationScopeProvider.getResolutionScopeForDeclaration(declaration)
|
||||
})
|
||||
}
|
||||
|
||||
bodyResolver.resolveProperty(bodyResolveContext, property, descriptor)
|
||||
|
||||
@@ -696,7 +695,7 @@ class ResolveElementCache(
|
||||
statementFilter,
|
||||
file.jvmTarget,
|
||||
file.languageVersionSettings
|
||||
).get<BodyResolver>()
|
||||
).get()
|
||||
}
|
||||
|
||||
// All additional resolve should be done to separate trace
|
||||
|
||||
Reference in New Issue
Block a user