Minor. Small refactoring of AllUnderImportsScope
This commit is contained in:
@@ -17,25 +17,22 @@
|
|||||||
package org.jetbrains.kotlin.resolve
|
package org.jetbrains.kotlin.resolve
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
|
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.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
import org.jetbrains.kotlin.resolve.scopes.JetScope
|
import org.jetbrains.kotlin.resolve.scopes.JetScope
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
|
||||||
import org.jetbrains.kotlin.types.JetType
|
import org.jetbrains.kotlin.types.JetType
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
import java.util.ArrayList
|
|
||||||
|
|
||||||
class AllUnderImportsScope : JetScope {
|
class AllUnderImportsScope(descriptor: DeclarationDescriptor) : JetScope {
|
||||||
private val scopes = ArrayList<JetScope>()
|
private val scopes = if (descriptor is ClassDescriptor) {
|
||||||
|
listOf(descriptor.staticScope, descriptor.unsubstitutedInnerClassesScope)
|
||||||
public fun addAllUnderImport(descriptor: DeclarationDescriptor) {
|
}
|
||||||
if (descriptor is PackageViewDescriptor) {
|
else {
|
||||||
scopes.add(NoSubpackagesInPackageScope(descriptor))
|
assert(descriptor is PackageViewDescriptor) {
|
||||||
}
|
"Must be class or package view descriptor: $descriptor"
|
||||||
else if (descriptor is ClassDescriptor) {
|
|
||||||
scopes.add(descriptor.getStaticScope())
|
|
||||||
scopes.add(descriptor.getUnsubstitutedInnerClassesScope())
|
|
||||||
}
|
}
|
||||||
|
listOf(NoSubpackagesInPackageScope(descriptor as PackageViewDescriptor))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
|
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
|
||||||
|
|||||||
@@ -129,9 +129,7 @@ public class QualifiedExpressionResolver(val symbolUsageValidator: SymbolUsageVa
|
|||||||
if (packageOrClassDescriptor is ClassDescriptor && packageOrClassDescriptor.kind.isSingleton) {
|
if (packageOrClassDescriptor is ClassDescriptor && packageOrClassDescriptor.kind.isSingleton) {
|
||||||
trace.report(Errors.CANNOT_IMPORT_MEMBERS_FROM_SINGLETON.on(lastPart.expression, packageOrClassDescriptor)) // todo report on star
|
trace.report(Errors.CANNOT_IMPORT_MEMBERS_FROM_SINGLETON.on(lastPart.expression, packageOrClassDescriptor)) // todo report on star
|
||||||
}
|
}
|
||||||
val scope = AllUnderImportsScope()
|
return AllUnderImportsScope(packageOrClassDescriptor)
|
||||||
scope.addAllUnderImport(packageOrClassDescriptor)
|
|
||||||
return scope
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
val aliasName = JetPsiUtil.getAliasName(importDirective)
|
val aliasName = JetPsiUtil.getAliasName(importDirective)
|
||||||
|
|||||||
Reference in New Issue
Block a user