Refactored code in QualifiedExpressionResolver so that WritableScope.import* methods are not used anymore

This commit is contained in:
Valentin Kipyatkov
2015-04-02 21:44:54 +03:00
parent 21083b48ce
commit 0162980ff7
11 changed files with 90 additions and 202 deletions
@@ -202,6 +202,6 @@ public class KotlinIndicesHelper(
private fun analyzeImportReference(fqName: FqName): Collection<DeclarationDescriptor> {
val importDirective = JetPsiFactory(project).createImportDirective(ImportPath(fqName, false))
val scope = JetModuleUtil.getSubpackagesOfRootScope(moduleDescriptor)
return QualifiedExpressionResolver().processImportReference(importDirective, scope, scope, null, BindingTraceContext(), LookupMode.EVERYTHING)
return QualifiedExpressionResolver().processImportReference(importDirective, scope, scope, BindingTraceContext(), LookupMode.EVERYTHING).getAllDescriptors()
}
}
@@ -287,7 +287,8 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Kotlin
val moduleDescriptor = file.getResolutionFacade().findModuleDescriptor(file)
val scope = JetModuleUtil.getSubpackagesOfRootScope(moduleDescriptor)
val descriptors = QualifiedExpressionResolver()
.processImportReference(importDirective, scope, scope, null, BindingTraceContext(), LookupMode.EVERYTHING)
.processImportReference(importDirective, scope, scope, BindingTraceContext(), LookupMode.EVERYTHING)
.getAllDescriptors()
.filterIsInstance<CallableDescriptor>()
return descriptors.singleOrNull()
}
@@ -46,7 +46,8 @@ public abstract class AbstractAddImportTest : AbstractImportsTest() {
val moduleDescriptor = file.getResolutionFacade().findModuleDescriptor(file)
val scope = JetModuleUtil.getSubpackagesOfRootScope(moduleDescriptor)
val descriptors = QualifiedExpressionResolver()
.processImportReference(importDirective, scope, scope, null, BindingTraceContext(), LookupMode.EVERYTHING)
.processImportReference(importDirective, scope, scope, BindingTraceContext(), LookupMode.EVERYTHING)
.getAllDescriptors()
.filter(filter)
when {
@@ -63,7 +63,8 @@ public abstract class AbstractCodeFragmentHighlightingTest : AbstractJetPsiCheck
val moduleDescriptor = file.getResolutionFacade().findModuleDescriptor(file)
val scope = JetModuleUtil.getSubpackagesOfRootScope(moduleDescriptor)
val descriptor = QualifiedExpressionResolver()
.processImportReference(importDirective, scope, scope, null, BindingTraceContext(), LookupMode.EVERYTHING)
.processImportReference(importDirective, scope, scope, BindingTraceContext(), LookupMode.EVERYTHING)
.getAllDescriptors()
.singleOrNull() ?: error("Could not resolve descriptor to import: $it")
ImportInsertHelper.getInstance(getProject()).importDescriptor(file, descriptor)
}