Allow to exclude specific types from packages imported by default.

This commit is contained in:
Ilya Gorbunov
2016-08-11 20:18:17 +03:00
parent 0f8bf310f2
commit afe1b7eab1
10 changed files with 41 additions and 25 deletions
@@ -85,5 +85,5 @@ fun ResolutionFacade.resolveImportReference(
val importDirective = KtPsiFactory(project).createImportDirective(ImportPath(fqName, false))
val qualifiedExpressionResolver = this.getFrontendService(moduleDescriptor, QualifiedExpressionResolver::class.java)
return qualifiedExpressionResolver.processImportReference(
importDirective, moduleDescriptor, BindingTraceContext(), aliasImportNames = emptyList(), packageFragmentForVisibilityCheck = null)?.getContributedDescriptors() ?: emptyList()
importDirective, moduleDescriptor, BindingTraceContext(), excludedImportNames = emptyList(), packageFragmentForVisibilityCheck = null)?.getContributedDescriptors() ?: emptyList()
}
@@ -136,7 +136,7 @@ class CodeFragmentAnalyzer(
val importScopes = importList.imports.mapNotNull {
qualifierResolver.processImportReference(it, resolveSession.moduleDescriptor, resolveSession.trace,
aliasImportNames = emptyList(), packageFragmentForVisibilityCheck = null)
excludedImportNames = emptyList(), packageFragmentForVisibilityCheck = null)
}
return scopeForContextElement.addImportingScopes(importScopes) to dataFlowInfo
@@ -45,6 +45,7 @@ import org.jetbrains.kotlin.context.ContextKt;
import org.jetbrains.kotlin.context.MutableModuleContext;
import org.jetbrains.kotlin.descriptors.CallableDescriptor;
import org.jetbrains.kotlin.descriptors.ModuleDescriptorKt;
import org.jetbrains.kotlin.descriptors.ModuleParameters;
import org.jetbrains.kotlin.frontend.di.InjectionKt;
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex;
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope;
@@ -239,10 +240,12 @@ public class SourceNavigationHelper {
) {
TargetPlatform platform = TargetPlatform.Default.INSTANCE;
ModuleParameters defaultJvmModuleParameters = JvmPlatform.INSTANCE.getDefaultModuleParameters();
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
project, Name.special("<library module>"),
ModuleDescriptorKt.ModuleParameters(
JvmPlatform.INSTANCE.getDefaultModuleParameters().getDefaultImports(),
defaultJvmModuleParameters.getDefaultImports(),
defaultJvmModuleParameters.getExcludedImports(),
PlatformToKotlinClassMap.EMPTY
),
DefaultBuiltIns.getInstance()