diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt index 69de5009ef5..d6395404dbb 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt @@ -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 } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeFactory.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeFactory.kt index 84798617409..badab37b905 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeFactory.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeFactory.kt @@ -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() { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyAnnotations.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyAnnotations.kt index d409c5830a8..023006551e7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyAnnotations.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyAnnotations.kt @@ -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 diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/Scopes.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/Scopes.kt index 2727ce6e883..3b0145ab3f0 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/Scopes.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/Scopes.kt @@ -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") } } } diff --git a/compiler/tests/org/jetbrains/kotlin/types/typeTestUtils.kt b/compiler/tests/org/jetbrains/kotlin/types/typeTestUtils.kt index 15d7b95ba2e..b71206e5283 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/typeTestUtils.kt +++ b/compiler/tests/org/jetbrains/kotlin/types/typeTestUtils.kt @@ -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) } diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt index c3e8e79dd3d..ca90e53f273 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt @@ -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) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt index 1b1d1fee8d6..1f5fbcb5558 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt @@ -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() diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt index 0b0f80370cd..d62573097d7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt @@ -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 diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt index 480c899afcb..48a2fd6e3dc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt @@ -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 } }