From c1fa973324c9f954300ed71f955d17ec6eebb078 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Sat, 31 Oct 2015 05:27:42 +0300 Subject: [PATCH] Minor. remove usage of WritableScope --- .../impl/MutablePackageFragmentDescriptor.java | 7 +++---- .../org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt | 10 +++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/descriptors/impl/MutablePackageFragmentDescriptor.java b/compiler/frontend/src/org/jetbrains/kotlin/descriptors/impl/MutablePackageFragmentDescriptor.java index e41c00e5687..a3980d1b827 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/descriptors/impl/MutablePackageFragmentDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/descriptors/impl/MutablePackageFragmentDescriptor.java @@ -22,18 +22,17 @@ import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.resolve.scopes.*; public class MutablePackageFragmentDescriptor extends PackageFragmentDescriptorImpl { - private final WritableScope scope; + private final KtScope scope; public MutablePackageFragmentDescriptor(@NotNull ModuleDescriptor module, @NotNull FqName fqName) { super(module, fqName); - scope = new WritableScopeImpl(KtScope.Empty.INSTANCE$, this, RedeclarationHandler.DO_NOTHING, "Members of " + fqName + " in " + module); - scope.changeLockLevel(LexicalWritableScope.LockLevel.BOTH); + scope = new SimpleKtScope(this, "Members of " + fqName + " in " + module); } @NotNull @Override - public WritableScope getMemberScope() { + public KtScope getMemberScope() { return scope; } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt index c31f4105b33..99c858aa934 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.utils.Printer -public abstract class KtScopeImpl : KtScope { +abstract class KtScopeImpl : KtScope { override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = null override fun getProperties(name: Name, location: LookupLocation): Collection = emptyList() @@ -51,3 +51,11 @@ public abstract class KtScopeImpl : KtScope { // This method should not be implemented here by default: every scope class has its unique structure pattern abstract override fun printScopeStructure(p: Printer) } + +class SimpleKtScope(val ownerDescriptor: DeclarationDescriptor, val debugName: String): KtScopeImpl() { + override fun printScopeStructure(p: Printer) { + p.println(javaClass.getSimpleName(), ": ", debugName, " for ", ownerDescriptor, " {") + } + + override fun getContainingDeclaration() = ownerDescriptor +} \ No newline at end of file