Rename LexicalScope.Empty -> Base
"Empty" is slightly confusing because although the scope has no declared symbols, it is not empty: it has a parent scope which can contain symbols and can have parents as well
This commit is contained in:
+1
-1
@@ -109,7 +109,7 @@ open class PartialAnalysisHandlerExtension : AnalysisHandlerExtension {
|
||||
val containingDescriptor = containingDeclaration ?: return null
|
||||
return when (containingDescriptor) {
|
||||
is ClassDescriptorWithResolutionScopes -> containingDescriptor.scopeForInitializerResolution
|
||||
is PackageFragmentDescriptor -> LexicalScope.Empty(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
|
||||
is PackageFragmentDescriptor -> LexicalScope.Base(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ class FileScopeFactory(
|
||||
}
|
||||
}
|
||||
|
||||
val lexicalScope = LexicalScope.Empty(lazyImportingScope, topLevelDescriptorProvider.getPackageFragment(file.packageFqName)!!)
|
||||
val lexicalScope = LexicalScope.Base(lazyImportingScope, topLevelDescriptorProvider.getPackageFragment(file.packageFqName)!!)
|
||||
|
||||
val importResolver = object : ImportResolver {
|
||||
override fun forceResolveAllImports() {
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ class LazyAnnotationDescriptor(
|
||||
private val source = annotationEntry.toSourceElement()
|
||||
|
||||
val scope = if (c.scope.ownerDescriptor is PackageFragmentDescriptor) {
|
||||
LexicalScope.Empty(c.scope, FileDescriptorForVisibilityChecks(source, c.scope.ownerDescriptor))
|
||||
LexicalScope.Base(c.scope, FileDescriptorForVisibilityChecks(source, c.scope.ownerDescriptor))
|
||||
}
|
||||
else {
|
||||
c.scope
|
||||
|
||||
@@ -29,7 +29,7 @@ interface HierarchicalScope : ResolutionScope {
|
||||
fun printStructure(p: Printer)
|
||||
}
|
||||
|
||||
interface LexicalScope: HierarchicalScope {
|
||||
interface LexicalScope : HierarchicalScope {
|
||||
override val parent: HierarchicalScope
|
||||
|
||||
val ownerDescriptor: DeclarationDescriptor
|
||||
@@ -39,7 +39,7 @@ interface LexicalScope: HierarchicalScope {
|
||||
|
||||
val kind: LexicalScopeKind
|
||||
|
||||
class Empty(
|
||||
class Base(
|
||||
parent: HierarchicalScope,
|
||||
override val ownerDescriptor: DeclarationDescriptor
|
||||
) : BaseHierarchicalScope(parent), LexicalScope {
|
||||
@@ -56,7 +56,7 @@ interface LexicalScope: HierarchicalScope {
|
||||
get() = LexicalScopeKind.EMPTY
|
||||
|
||||
override fun printStructure(p: Printer) {
|
||||
p.println("Empty lexical scope with owner = $ownerDescriptor and parent = $parent")
|
||||
p.println("Base lexical scope with owner = $ownerDescriptor and parent = $parent")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
|
||||
|
||||
fun ModuleDescriptor.builtInPackageAsLexicalScope(): LexicalScope.Empty {
|
||||
fun ModuleDescriptor.builtInPackageAsLexicalScope(): LexicalScope.Base {
|
||||
val packageView = getPackage(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME)
|
||||
return LexicalScope.Empty(packageView.memberScope.memberScopeAsImportingScope(), this)
|
||||
return LexicalScope.Base(packageView.memberScope.memberScopeAsImportingScope(), this)
|
||||
}
|
||||
|
||||
@@ -161,10 +161,10 @@ private fun getClassInnerScope(outerScope: LexicalScope, descriptor: ClassDescri
|
||||
fun getKDocLinkResolutionScope(resolutionFacade: ResolutionFacade, descriptor: DeclarationDescriptor): LexicalScope {
|
||||
return when (descriptor) {
|
||||
is PackageFragmentDescriptor ->
|
||||
LexicalScope.Empty(getPackageInnerScope(descriptor).memberScopeAsImportingScope(), descriptor)
|
||||
LexicalScope.Base(getPackageInnerScope(descriptor).memberScopeAsImportingScope(), descriptor)
|
||||
|
||||
is PackageViewDescriptor ->
|
||||
LexicalScope.Empty(descriptor.memberScope.memberScopeAsImportingScope(), descriptor)
|
||||
LexicalScope.Base(descriptor.memberScope.memberScopeAsImportingScope(), descriptor)
|
||||
|
||||
is ClassDescriptor ->
|
||||
getClassInnerScope(getOuterScope(descriptor, resolutionFacade), descriptor)
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ class KDocNameCompletionSession(
|
||||
return (
|
||||
if (collectFormParentScopes)
|
||||
scope.collectDescriptorsFiltered(nameFilter = nameFilter).asSequence()
|
||||
else if (scope is LexicalScope.Empty)
|
||||
else if (scope is LexicalScope.Base)
|
||||
scope.parent.getContributedDescriptors(nameFilter = nameFilter).asSequence()
|
||||
else
|
||||
(scope.getContributedDescriptors(nameFilter = nameFilter).asSequence()
|
||||
|
||||
+4
-2
@@ -162,8 +162,10 @@ object ReplaceWithAnnotationAnalyzer {
|
||||
getResolutionScope(moduleDescriptor.getPackage(descriptor.fqName), ownerDescriptor, additionalScopes)
|
||||
}
|
||||
|
||||
is PackageViewDescriptor ->
|
||||
LexicalScope.Empty(chainImportingScopes(listOf(descriptor.memberScope.memberScopeAsImportingScope()) + additionalScopes)!!, ownerDescriptor)
|
||||
is PackageViewDescriptor -> LexicalScope.Base(
|
||||
chainImportingScopes(listOf(descriptor.memberScope.memberScopeAsImportingScope()) + additionalScopes)!!,
|
||||
ownerDescriptor
|
||||
)
|
||||
|
||||
is ClassDescriptor -> {
|
||||
val outerScope = getResolutionScope(descriptor.containingDeclaration, ownerDescriptor, additionalScopes) ?: return null
|
||||
|
||||
@@ -194,7 +194,7 @@ fun DeclarationDescriptor.getContainingScope(): LexicalScope? {
|
||||
val containingDescriptor = containingDeclaration ?: return null
|
||||
return when (containingDescriptor) {
|
||||
is ClassDescriptorWithResolutionScopes -> containingDescriptor.scopeForInitializerResolution
|
||||
is PackageFragmentDescriptor -> LexicalScope.Empty(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
|
||||
is PackageFragmentDescriptor -> LexicalScope.Base(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user