diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt index ae2331e22af..f3cbd4759f7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt @@ -17,25 +17,22 @@ package org.jetbrains.kotlin.resolve import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.utils.Printer -import java.util.ArrayList -class AllUnderImportsScope : JetScope { - private val scopes = ArrayList() - - public fun addAllUnderImport(descriptor: DeclarationDescriptor) { - if (descriptor is PackageViewDescriptor) { - scopes.add(NoSubpackagesInPackageScope(descriptor)) - } - else if (descriptor is ClassDescriptor) { - scopes.add(descriptor.getStaticScope()) - scopes.add(descriptor.getUnsubstitutedInnerClassesScope()) +class AllUnderImportsScope(descriptor: DeclarationDescriptor) : JetScope { + private val scopes = 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)) } override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.kt index e0dbcd7c93d..655d22510ef 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.kt @@ -129,9 +129,7 @@ public class QualifiedExpressionResolver(val symbolUsageValidator: SymbolUsageVa if (packageOrClassDescriptor is ClassDescriptor && packageOrClassDescriptor.kind.isSingleton) { trace.report(Errors.CANNOT_IMPORT_MEMBERS_FROM_SINGLETON.on(lastPart.expression, packageOrClassDescriptor)) // todo report on star } - val scope = AllUnderImportsScope() - scope.addAllUnderImport(packageOrClassDescriptor) - return scope + return AllUnderImportsScope(packageOrClassDescriptor) } else { val aliasName = JetPsiUtil.getAliasName(importDirective)