Refactor QualifiedExpressionResolver: pass descriptor to check for visibility instead of scope

This commit is contained in:
Pavel V. Talanov
2015-05-13 17:08:05 +03:00
parent 5e0cc18be2
commit be66ee7015
5 changed files with 29 additions and 30 deletions
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.context.withModule
import org.jetbrains.kotlin.context.withProject
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.di.InjectorForBodyResolve
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -421,14 +420,13 @@ public abstract class ElementResolver protected(
val filePackage = resolveSession.getModuleDescriptor().getPackage(fqName)
?: error("File package should be already resolved and be found")
val scope = filePackage.getMemberScope()
val descriptors = if (element is JetDotQualifiedExpression) {
qualifiedExpressionResolver.lookupDescriptorsForQualifiedExpression(
element, rootPackage.getMemberScope(), scope, trace, QualifiedExpressionResolver.LookupMode.EVERYTHING, false)
element, rootPackage.getMemberScope(), filePackage, trace, QualifiedExpressionResolver.LookupMode.EVERYTHING, false)
}
else {
qualifiedExpressionResolver.lookupDescriptorsForSimpleNameReference(
element as JetSimpleNameExpression, rootPackage.getMemberScope(), scope, trace, QualifiedExpressionResolver.LookupMode.EVERYTHING, false, false)
element as JetSimpleNameExpression, rootPackage.getMemberScope(), filePackage, trace, QualifiedExpressionResolver.LookupMode.EVERYTHING, false, false)
}
return descriptors.firstIsInstanceOrNull<PackageViewDescriptor>()?.getMemberScope()
@@ -228,7 +228,7 @@ private class ResolutionFacadeImpl(private val project: Project, private val cac
val scope = JetModuleUtil.getImportsResolutionScope(moduleDescriptor, !isDefaultImport)
val resolver = resolveSession.getQualifiedExpressionResolver()
return resolver.processImportReference(
importDirective, scope, scope, BindingTraceContext(), QualifiedExpressionResolver.LookupMode.EVERYTHING).getAllDescriptors()
importDirective, moduleDescriptor, scope, BindingTraceContext(), QualifiedExpressionResolver.LookupMode.EVERYTHING).getAllDescriptors()
}
override fun <T> get(extension: CacheExtension<T>): T {