Removed MemberScope.getPackage
This commit is contained in:
@@ -23,17 +23,18 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.scopes.BaseImportingScope
|
import org.jetbrains.kotlin.resolve.scopes.BaseImportingScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.ResolutionScope
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
|
|
||||||
class AllUnderImportsScope(descriptor: DeclarationDescriptor) : BaseImportingScope(null) {
|
class AllUnderImportsScope(descriptor: DeclarationDescriptor) : BaseImportingScope(null) {
|
||||||
private val scopes = if (descriptor is ClassDescriptor) {
|
private val scopes: List<ResolutionScope> = if (descriptor is ClassDescriptor) {
|
||||||
listOf(descriptor.staticScope, descriptor.unsubstitutedInnerClassesScope)
|
listOf(descriptor.staticScope, descriptor.unsubstitutedInnerClassesScope)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert(descriptor is PackageViewDescriptor) {
|
assert(descriptor is PackageViewDescriptor) {
|
||||||
"Must be class or package view descriptor: $descriptor"
|
"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)
|
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean)
|
||||||
|
|||||||
@@ -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<DeclarationDescriptor> {
|
|
||||||
val modifiedFilter = kindFilter.withoutKinds(DescriptorKindFilter.PACKAGES_MASK)
|
|
||||||
if (modifiedFilter.kindMask == 0) return listOf()
|
|
||||||
return workerScope.getContributedDescriptors(modifiedFilter, nameFilter).filter { it !is PackageViewDescriptor }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -17,18 +17,17 @@
|
|||||||
package org.jetbrains.kotlin.resolve.lazy
|
package org.jetbrains.kotlin.resolve.lazy
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.impl.SubpackagesScope
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
import org.jetbrains.kotlin.psi.KtImportsFactory
|
import org.jetbrains.kotlin.psi.KtImportsFactory
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||||
import org.jetbrains.kotlin.resolve.NoSubpackagesInPackageScope
|
|
||||||
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
||||||
import org.jetbrains.kotlin.resolve.TemporaryBindingTrace
|
import org.jetbrains.kotlin.resolve.TemporaryBindingTrace
|
||||||
import org.jetbrains.kotlin.resolve.bindingContextUtil.recordScope
|
import org.jetbrains.kotlin.resolve.bindingContextUtil.recordScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.ImportingScope
|
import org.jetbrains.kotlin.resolve.scopes.ImportingScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
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.memberScopeAsImportingScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.withParent
|
import org.jetbrains.kotlin.resolve.scopes.utils.withParent
|
||||||
import org.jetbrains.kotlin.storage.StorageManager
|
import org.jetbrains.kotlin.storage.StorageManager
|
||||||
@@ -97,9 +96,9 @@ public open class FileScopeProviderImpl(
|
|||||||
scope = LazyImportScope(scope, defaultAliasImportResolver, LazyImportScope.FilteringKind.ALL,
|
scope = LazyImportScope(scope, defaultAliasImportResolver, LazyImportScope.FilteringKind.ALL,
|
||||||
"Default alias imports in $debugName")
|
"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")
|
scope = LazyImportScope(scope, aliasImportResolver, LazyImportScope.FilteringKind.ALL, "Alias imports in $debugName")
|
||||||
|
|
||||||
|
|||||||
-2
@@ -259,8 +259,6 @@ public open class LazyClassMemberScope(
|
|||||||
result.addAll(getContributedFunctions(Name.identifier("copy"), location))
|
result.addAll(getContributedFunctions(Name.identifier("copy"), location))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getPackage(name: Name): PackageViewDescriptor? = null
|
|
||||||
|
|
||||||
private val secondaryConstructors: NotNullLazyValue<Collection<ConstructorDescriptor>>
|
private val secondaryConstructors: NotNullLazyValue<Collection<ConstructorDescriptor>>
|
||||||
= c.storageManager.createLazyValue { resolveSecondaryConstructors() }
|
= c.storageManager.createLazyValue { resolveSecondaryConstructors() }
|
||||||
|
|
||||||
|
|||||||
-2
@@ -34,8 +34,6 @@ public class LazyPackageMemberScope(
|
|||||||
return computeDescriptorsFromDeclaredElements(kindFilter, nameFilter, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
|
return computeDescriptorsFromDeclaredElements(kindFilter, nameFilter, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getPackage(name: Name): PackageViewDescriptor? = null
|
|
||||||
|
|
||||||
override fun getScopeForMemberDeclarationResolution(declaration: KtDeclaration)
|
override fun getScopeForMemberDeclarationResolution(declaration: KtDeclaration)
|
||||||
= resolveSession.getFileScopeProvider().getFileResolutionScope(declaration.getContainingKtFile())
|
= resolveSession.getFileScopeProvider().getFileResolutionScope(declaration.getContainingKtFile())
|
||||||
|
|
||||||
|
|||||||
@@ -28,8 +28,6 @@ public class FilteringScope(private val workerScope: MemberScope, private val pr
|
|||||||
private fun <D : DeclarationDescriptor> filterDescriptor(descriptor: D?): D?
|
private fun <D : DeclarationDescriptor> filterDescriptor(descriptor: D?): D?
|
||||||
= if (descriptor != null && predicate(descriptor)) descriptor else null
|
= 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 getContributedClassifier(name: Name, location: LookupLocation) = filterDescriptor(workerScope.getContributedClassifier(name, location))
|
||||||
|
|
||||||
override fun getContributedVariables(name: Name, location: LookupLocation) = workerScope.getContributedVariables(name, location).filter(predicate)
|
override fun getContributedVariables(name: Name, location: LookupLocation) = workerScope.getContributedVariables(name, location).filter(predicate)
|
||||||
|
|||||||
+35
@@ -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)
|
||||||
|
}
|
||||||
@@ -116,7 +116,7 @@ public fun HierarchicalScope.takeSnapshot(): HierarchicalScope = if (this is Lex
|
|||||||
public fun MemberScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this)
|
public fun MemberScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this)
|
||||||
|
|
||||||
private class MemberScopeToImportingScopeAdapter(override val parent: ImportingScope?, val memberScope: MemberScope) : ImportingScope {
|
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<KotlinType>, name: Name, location: LookupLocation)
|
override fun getContributedSyntheticExtensionProperties(receiverTypes: Collection<KotlinType>, name: Name, location: LookupLocation)
|
||||||
= emptyList<PropertyDescriptor>()
|
= emptyList<PropertyDescriptor>()
|
||||||
|
|||||||
@@ -404,7 +404,6 @@ public class DescriptorValidator {
|
|||||||
public Void visitPackageViewDescriptor(
|
public Void visitPackageViewDescriptor(
|
||||||
PackageViewDescriptor descriptor, MemberScope scope
|
PackageViewDescriptor descriptor, MemberScope scope
|
||||||
) {
|
) {
|
||||||
assertFound(scope, descriptor, scope.getPackage(descriptor.getName()), false);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-3
@@ -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()
|
override fun toString() = "Lazy java member scope for " + jClass.getFqName()
|
||||||
}
|
}
|
||||||
|
|||||||
-3
@@ -29,9 +29,6 @@ public abstract class LazyJavaStaticScope(c: LazyJavaResolverContext) : LazyJava
|
|||||||
|
|
||||||
override fun getDispatchReceiverParameter() = null
|
override fun getDispatchReceiverParameter() = null
|
||||||
|
|
||||||
// Package fragments are not nested
|
|
||||||
override fun getPackage(name: Name) = null
|
|
||||||
|
|
||||||
abstract fun getSubPackages(): Collection<FqName>
|
abstract fun getSubPackages(): Collection<FqName>
|
||||||
|
|
||||||
override fun resolveMethodSignature(
|
override fun resolveMethodSignature(
|
||||||
|
|||||||
+1
@@ -44,6 +44,7 @@ public class LazyPackageViewDescriptorImpl(
|
|||||||
MemberScope.Empty
|
MemberScope.Empty
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// Packages from SubpackagesScope are got via getContributedDescriptors(DescriptorKindFilter.PACKAGES, MemberScope.ALL_NAME_FILTER)
|
||||||
val scopes = fragments.map { it.getMemberScope() } + SubpackagesScope(module, fqName)
|
val scopes = fragments.map { it.getMemberScope() } + SubpackagesScope(module, fqName)
|
||||||
ChainedScope("package view scope for $fqName in ${module.getName()}", *scopes.toTypedArray())
|
ChainedScope("package view scope for $fqName in ${module.getName()}", *scopes.toTypedArray())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ import org.jetbrains.kotlin.utils.Printer
|
|||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
import java.util.*
|
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()) {
|
if (name.isSpecial()) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,10 +37,6 @@ public abstract class AbstractScopeAdapter : MemberScope {
|
|||||||
return workerScope.getContributedFunctions(name, location)
|
return workerScope.getContributedFunctions(name, location)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getPackage(name: Name): PackageViewDescriptor? {
|
|
||||||
return workerScope.getPackage(name)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? {
|
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? {
|
||||||
return workerScope.getContributedClassifier(name, location)
|
return workerScope.getContributedClassifier(name, location)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,9 +32,6 @@ public class ChainedScope(
|
|||||||
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor?
|
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor?
|
||||||
= getFirstMatch(scopeChain) { it.getContributedClassifier(name, location) }
|
= 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<PropertyDescriptor>
|
override fun getContributedVariables(name: Name, location: LookupLocation): Collection<PropertyDescriptor>
|
||||||
= getFromAllScopes(scopeChain) { it.getContributedVariables(name, location) }
|
= getFromAllScopes(scopeChain) { it.getContributedVariables(name, location) }
|
||||||
|
|
||||||
|
|||||||
@@ -27,9 +27,6 @@ public interface MemberScope : ResolutionScope {
|
|||||||
|
|
||||||
public override fun getContributedVariables(name: Name, location: LookupLocation): Collection<PropertyDescriptor>
|
public override fun getContributedVariables(name: Name, location: LookupLocation): Collection<PropertyDescriptor>
|
||||||
|
|
||||||
@Deprecated("Should be removed soon")
|
|
||||||
public fun getPackage(name: Name): PackageViewDescriptor?
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is supposed to be used in tests and debug only
|
* Is supposed to be used in tests and debug only
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ abstract class MemberScopeImpl : MemberScope {
|
|||||||
|
|
||||||
override fun getContributedVariables(name: Name, location: LookupLocation): Collection<PropertyDescriptor> = emptyList()
|
override fun getContributedVariables(name: Name, location: LookupLocation): Collection<PropertyDescriptor> = emptyList()
|
||||||
|
|
||||||
override fun getPackage(name: Name): PackageViewDescriptor? = null
|
|
||||||
|
|
||||||
override fun getContributedFunctions(name: Name, location: LookupLocation): Collection<FunctionDescriptor> = emptyList()
|
override fun getContributedFunctions(name: Name, location: LookupLocation): Collection<FunctionDescriptor> = emptyList()
|
||||||
|
|
||||||
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter,
|
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter,
|
||||||
|
|||||||
@@ -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 getContributedFunctions(name: Name, location: LookupLocation) = substitute(workerScope.getContributedFunctions(name, location))
|
||||||
|
|
||||||
override fun getPackage(name: Name) = workerScope.getPackage(name)
|
|
||||||
|
|
||||||
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter,
|
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter,
|
||||||
nameFilter: (Name) -> Boolean) = _allDescriptors
|
nameFilter: (Name) -> Boolean) = _allDescriptors
|
||||||
|
|
||||||
|
|||||||
@@ -180,11 +180,6 @@ public class ErrorUtils {
|
|||||||
return ERROR_PROPERTY_GROUP;
|
return ERROR_PROPERTY_GROUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public PackageViewDescriptor getPackage(@NotNull Name name) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public Set<FunctionDescriptor> getContributedFunctions(@NotNull Name name, @NotNull LookupLocation location) {
|
public Set<FunctionDescriptor> getContributedFunctions(@NotNull Name name, @NotNull LookupLocation location) {
|
||||||
@@ -223,12 +218,6 @@ public class ErrorUtils {
|
|||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public PackageViewDescriptor getPackage(@NotNull Name name) {
|
|
||||||
throw new IllegalStateException();
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings({"unchecked"}) // KT-9898 Impossible implement kotlin interface from java
|
@SuppressWarnings({"unchecked"}) // KT-9898 Impossible implement kotlin interface from java
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.impl.SubpackagesScope
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
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.TypeResolver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScopeKind
|
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.KotlinType
|
||||||
import org.jetbrains.kotlin.types.SubstitutionUtils
|
import org.jetbrains.kotlin.types.SubstitutionUtils
|
||||||
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
||||||
@@ -77,7 +76,7 @@ internal class HeuristicSignatures(
|
|||||||
|
|
||||||
private fun typeFromText(text: String, typeParameters: Collection<TypeParameterDescriptor>): KotlinType {
|
private fun typeFromText(text: String, typeParameters: Collection<TypeParameterDescriptor>): KotlinType {
|
||||||
val typeRef = KtPsiFactory(project).createType(text)
|
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) {
|
val scope = LexicalScopeImpl(rootPackagesScope, moduleDescriptor, false, null, LexicalScopeKind.SYNTHETIC) {
|
||||||
typeParameters.forEach { addClassifierDescriptor(it) }
|
typeParameters.forEach { addClassifierDescriptor(it) }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user