From 8807cd828f69640eebd20dcff4c3624b7ccb00da Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Tue, 1 Dec 2015 11:44:15 +0300 Subject: [PATCH] Removed MemberScope.getPackage --- .../kotlin/resolve/AllUnderImportsScope.kt | 5 ++- .../resolve/NoSubpackagesInPackageScope.kt | 37 ------------------- .../resolve/lazy/FileScopeProviderImpl.kt | 7 ++-- .../lazy/descriptors/LazyClassMemberScope.kt | 2 - .../descriptors/LazyPackageMemberScope.kt | 2 - .../kotlin/resolve/scopes/FilteringScope.kt | 2 - .../scopes/SubpackagesImportingScope.kt | 35 ++++++++++++++++++ .../kotlin/resolve/scopes/utils/ScopeUtils.kt | 2 +- .../kotlin/test/util/DescriptorValidator.java | 1 - .../descriptors/LazyJavaClassMemberScope.kt | 3 -- .../lazy/descriptors/LazyJavaStaticScope.kt | 3 -- .../impl/LazyPackageViewDescriptorImpl.kt | 1 + .../descriptors/impl/SubpackagesScope.kt | 4 +- .../resolve/scopes/AbstractScopeAdapter.kt | 4 -- .../kotlin/resolve/scopes/ChainedScope.kt | 3 -- .../kotlin/resolve/scopes/MemberScope.kt | 3 -- .../kotlin/resolve/scopes/MemberScopeImpl.kt | 2 - .../resolve/scopes/SubstitutingScope.kt | 2 - .../jetbrains/kotlin/types/ErrorUtils.java | 11 ------ .../kotlin/idea/core/HeuristicSignatures.kt | 5 +-- 20 files changed, 47 insertions(+), 87 deletions(-) delete mode 100644 compiler/frontend/src/org/jetbrains/kotlin/resolve/NoSubpackagesInPackageScope.kt create mode 100644 compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/SubpackagesImportingScope.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt index 54898e360a0..6e4c10f789a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt @@ -23,17 +23,18 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.BaseImportingScope import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter +import org.jetbrains.kotlin.resolve.scopes.ResolutionScope import org.jetbrains.kotlin.utils.Printer class AllUnderImportsScope(descriptor: DeclarationDescriptor) : BaseImportingScope(null) { - private val scopes = if (descriptor is ClassDescriptor) { + private val scopes: List = if (descriptor is ClassDescriptor) { listOf(descriptor.staticScope, descriptor.unsubstitutedInnerClassesScope) } else { assert(descriptor is PackageViewDescriptor) { "Must be class or package view descriptor: $descriptor" } - listOf(NoSubpackagesInPackageScope(descriptor as PackageViewDescriptor)) + listOf((descriptor as PackageViewDescriptor).memberScope) } override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/NoSubpackagesInPackageScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/NoSubpackagesInPackageScope.kt deleted file mode 100644 index ca06e644d57..00000000000 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/NoSubpackagesInPackageScope.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.resolve - -import org.jetbrains.kotlin.descriptors.PackageViewDescriptor -import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter -import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter -import org.jetbrains.kotlin.resolve.scopes.MemberScope - -class NoSubpackagesInPackageScope(packageDescriptor: PackageViewDescriptor) : AbstractScopeAdapter() { - override val workerScope: MemberScope = packageDescriptor.memberScope - - override fun getPackage(name: Name): PackageViewDescriptor? = null - - override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection { - val modifiedFilter = kindFilter.withoutKinds(DescriptorKindFilter.PACKAGES_MASK) - if (modifiedFilter.kindMask == 0) return listOf() - return workerScope.getContributedDescriptors(modifiedFilter, nameFilter).filter { it !is PackageViewDescriptor } - } - -} diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeProviderImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeProviderImpl.kt index 74d725f8b20..512cab527f2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeProviderImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/FileScopeProviderImpl.kt @@ -17,18 +17,17 @@ package org.jetbrains.kotlin.resolve.lazy import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.descriptors.impl.SubpackagesScope import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtImportDirective import org.jetbrains.kotlin.psi.KtImportsFactory import org.jetbrains.kotlin.resolve.BindingTrace -import org.jetbrains.kotlin.resolve.NoSubpackagesInPackageScope import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver import org.jetbrains.kotlin.resolve.TemporaryBindingTrace import org.jetbrains.kotlin.resolve.bindingContextUtil.recordScope import org.jetbrains.kotlin.resolve.scopes.ImportingScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope +import org.jetbrains.kotlin.resolve.scopes.SubpackagesImportingScope import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.resolve.scopes.utils.withParent import org.jetbrains.kotlin.storage.StorageManager @@ -97,9 +96,9 @@ public open class FileScopeProviderImpl( scope = LazyImportScope(scope, defaultAliasImportResolver, LazyImportScope.FilteringKind.ALL, "Default alias imports in $debugName") - scope = SubpackagesScope(moduleDescriptor, FqName.ROOT).memberScopeAsImportingScope(scope) + scope = SubpackagesImportingScope(scope, moduleDescriptor, FqName.ROOT) - scope = NoSubpackagesInPackageScope(packageView).memberScopeAsImportingScope(scope) //TODO: problems with visibility too + scope = packageView.memberScope.memberScopeAsImportingScope(scope) //TODO: problems with visibility too scope = LazyImportScope(scope, aliasImportResolver, LazyImportScope.FilteringKind.ALL, "Alias imports in $debugName") diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt index ef39bb82342..0d41874b503 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt @@ -259,8 +259,6 @@ public open class LazyClassMemberScope( result.addAll(getContributedFunctions(Name.identifier("copy"), location)) } - override fun getPackage(name: Name): PackageViewDescriptor? = null - private val secondaryConstructors: NotNullLazyValue> = c.storageManager.createLazyValue { resolveSecondaryConstructors() } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt index b71dd860673..6e353008c32 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt @@ -34,8 +34,6 @@ public class LazyPackageMemberScope( return computeDescriptorsFromDeclaredElements(kindFilter, nameFilter, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) } - override fun getPackage(name: Name): PackageViewDescriptor? = null - override fun getScopeForMemberDeclarationResolution(declaration: KtDeclaration) = resolveSession.getFileScopeProvider().getFileResolutionScope(declaration.getContainingKtFile()) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt index f2a151e1e63..4953f0a3773 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt @@ -28,8 +28,6 @@ public class FilteringScope(private val workerScope: MemberScope, private val pr private fun filterDescriptor(descriptor: D?): D? = if (descriptor != null && predicate(descriptor)) descriptor else null - override fun getPackage(name: Name) = filterDescriptor(workerScope.getPackage(name)) - override fun getContributedClassifier(name: Name, location: LookupLocation) = filterDescriptor(workerScope.getContributedClassifier(name, location)) override fun getContributedVariables(name: Name, location: LookupLocation) = workerScope.getContributedVariables(name, location).filter(predicate) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/SubpackagesImportingScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/SubpackagesImportingScope.kt new file mode 100644 index 00000000000..08dcde7f6ae --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/SubpackagesImportingScope.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2010-2015 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.resolve.scopes + +import org.jetbrains.kotlin.descriptors.ModuleDescriptor +import org.jetbrains.kotlin.descriptors.PackageViewDescriptor +import org.jetbrains.kotlin.descriptors.impl.SubpackagesScope +import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.utils.Printer + +class SubpackagesImportingScope( + override val parent: ImportingScope?, + moduleDescriptor: ModuleDescriptor, + fqName: FqName +) : SubpackagesScope(moduleDescriptor, fqName), ImportingScope by ImportingScope.Empty { + + override fun getContributedPackage(name: Name): PackageViewDescriptor? = getPackage(name) + + override fun printStructure(p: Printer) = printScopeStructure(p) +} \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/utils/ScopeUtils.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/utils/ScopeUtils.kt index 565f2c71cfb..6a6ece07dfc 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/utils/ScopeUtils.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/utils/ScopeUtils.kt @@ -116,7 +116,7 @@ public fun HierarchicalScope.takeSnapshot(): HierarchicalScope = if (this is Lex public fun MemberScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this) private class MemberScopeToImportingScopeAdapter(override val parent: ImportingScope?, val memberScope: MemberScope) : ImportingScope { - override fun getContributedPackage(name: Name): PackageViewDescriptor? = memberScope.getPackage(name) + override fun getContributedPackage(name: Name): PackageViewDescriptor? = null override fun getContributedSyntheticExtensionProperties(receiverTypes: Collection, name: Name, location: LookupLocation) = emptyList() diff --git a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java index df7a840a29e..3d2bbb75871 100644 --- a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java +++ b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java @@ -404,7 +404,6 @@ public class DescriptorValidator { public Void visitPackageViewDescriptor( PackageViewDescriptor descriptor, MemberScope scope ) { - assertFound(scope, descriptor, scope.getPackage(descriptor.getName()), false); return null; } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt index d4a4b3d3a60..4372069297c 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -619,8 +619,5 @@ public class LazyJavaClassMemberScope( } } - // namespaces should be resolved elsewhere - override fun getPackage(name: Name) = null - override fun toString() = "Lazy java member scope for " + jClass.getFqName() } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticScope.kt index 010c02f9a62..6b66b9bb31a 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticScope.kt @@ -29,9 +29,6 @@ public abstract class LazyJavaStaticScope(c: LazyJavaResolverContext) : LazyJava override fun getDispatchReceiverParameter() = null - // Package fragments are not nested - override fun getPackage(name: Name) = null - abstract fun getSubPackages(): Collection override fun resolveMethodSignature( diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/LazyPackageViewDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/LazyPackageViewDescriptorImpl.kt index e2c96cea1f5..9cd26a115e0 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/LazyPackageViewDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/LazyPackageViewDescriptorImpl.kt @@ -44,6 +44,7 @@ public class LazyPackageViewDescriptorImpl( MemberScope.Empty } else { + // Packages from SubpackagesScope are got via getContributedDescriptors(DescriptorKindFilter.PACKAGES, MemberScope.ALL_NAME_FILTER) val scopes = fragments.map { it.getMemberScope() } + SubpackagesScope(module, fqName) ChainedScope("package view scope for $fqName in ${module.getName()}", *scopes.toTypedArray()) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SubpackagesScope.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SubpackagesScope.kt index a1e760db657..2c7eb0d3c85 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SubpackagesScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SubpackagesScope.kt @@ -28,9 +28,9 @@ import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.addIfNotNull import java.util.* -public class SubpackagesScope(private val moduleDescriptor: ModuleDescriptor, private val fqName: FqName) : MemberScopeImpl() { +public open class SubpackagesScope(private val moduleDescriptor: ModuleDescriptor, private val fqName: FqName) : MemberScopeImpl() { - override fun getPackage(name: Name): PackageViewDescriptor? { + protected fun getPackage(name: Name): PackageViewDescriptor? { if (name.isSpecial()) { return null } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt index 033ff76ba36..06a7cec1f34 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt @@ -37,10 +37,6 @@ public abstract class AbstractScopeAdapter : MemberScope { return workerScope.getContributedFunctions(name, location) } - override fun getPackage(name: Name): PackageViewDescriptor? { - return workerScope.getPackage(name) - } - override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? { return workerScope.getContributedClassifier(name, location) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt index e183bd0da6c..dcff3af4c75 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt @@ -32,9 +32,6 @@ public class ChainedScope( override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = getFirstMatch(scopeChain) { it.getContributedClassifier(name, location) } - override fun getPackage(name: Name): PackageViewDescriptor? - = getFirstMatch(scopeChain) { it.getPackage(name) } - override fun getContributedVariables(name: Name, location: LookupLocation): Collection = getFromAllScopes(scopeChain) { it.getContributedVariables(name, location) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScope.kt index 2bb12f10b30..301c91dd615 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScope.kt @@ -27,9 +27,6 @@ public interface MemberScope : ResolutionScope { public override fun getContributedVariables(name: Name, location: LookupLocation): Collection - @Deprecated("Should be removed soon") - public fun getPackage(name: Name): PackageViewDescriptor? - /** * Is supposed to be used in tests and debug only */ diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScopeImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScopeImpl.kt index ec23af4fc24..cd3824693ed 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScopeImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/MemberScopeImpl.kt @@ -26,8 +26,6 @@ abstract class MemberScopeImpl : MemberScope { override fun getContributedVariables(name: Name, location: LookupLocation): Collection = emptyList() - override fun getPackage(name: Name): PackageViewDescriptor? = null - override fun getContributedFunctions(name: Name, location: LookupLocation): Collection = emptyList() override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt index f04566b015a..591632693ff 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt @@ -65,8 +65,6 @@ public class SubstitutingScope(private val workerScope: MemberScope, private val override fun getContributedFunctions(name: Name, location: LookupLocation) = substitute(workerScope.getContributedFunctions(name, location)) - override fun getPackage(name: Name) = workerScope.getPackage(name) - override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean) = _allDescriptors diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java index 686817e988f..949228f7104 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java @@ -180,11 +180,6 @@ public class ErrorUtils { return ERROR_PROPERTY_GROUP; } - @Override - public PackageViewDescriptor getPackage(@NotNull Name name) { - return null; - } - @NotNull @Override public Set getContributedFunctions(@NotNull Name name, @NotNull LookupLocation location) { @@ -223,12 +218,6 @@ public class ErrorUtils { throw new IllegalStateException(); } - @Nullable - @Override - public PackageViewDescriptor getPackage(@NotNull Name name) { - throw new IllegalStateException(); - } - @NotNull @Override @SuppressWarnings({"unchecked"}) // KT-9898 Impossible implement kotlin interface from java diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt index 4b171924b98..53be07f1563 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor -import org.jetbrains.kotlin.descriptors.impl.SubpackagesScope import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtPsiFactory @@ -30,7 +29,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.TypeResolver import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl import org.jetbrains.kotlin.resolve.scopes.LexicalScopeKind -import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope +import org.jetbrains.kotlin.resolve.scopes.SubpackagesImportingScope import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.SubstitutionUtils import org.jetbrains.kotlin.types.TypeConstructorSubstitution @@ -77,7 +76,7 @@ internal class HeuristicSignatures( private fun typeFromText(text: String, typeParameters: Collection): KotlinType { val typeRef = KtPsiFactory(project).createType(text) - val rootPackagesScope = SubpackagesScope(moduleDescriptor, FqName.ROOT).memberScopeAsImportingScope() + val rootPackagesScope = SubpackagesImportingScope(null, moduleDescriptor, FqName.ROOT) val scope = LexicalScopeImpl(rootPackagesScope, moduleDescriptor, false, null, LexicalScopeKind.SYNTHETIC) { typeParameters.forEach { addClassifierDescriptor(it) } }