Get rid of ModuleDescriptor#defaultImports, use DefaultImportProvider
This commit is contained in:
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.resolve.createModule
|
||||
import org.jetbrains.kotlin.storage.ExceptionTracker
|
||||
@@ -97,14 +96,9 @@ fun ModuleContext(module: ModuleDescriptor, project: Project): ModuleContext =
|
||||
fun GlobalContext.withProject(project: Project): ProjectContext = ProjectContextImpl(project, this)
|
||||
fun ProjectContext.withModule(module: ModuleDescriptor): ModuleContext = ModuleContextImpl(module, this)
|
||||
|
||||
fun ContextForNewModule(
|
||||
project: Project,
|
||||
moduleName: Name,
|
||||
defaultImports: List<ImportPath>,
|
||||
builtIns: KotlinBuiltIns
|
||||
): MutableModuleContext {
|
||||
fun ContextForNewModule(project: Project, moduleName: Name, builtIns: KotlinBuiltIns): MutableModuleContext {
|
||||
val projectContext = ProjectContext(project)
|
||||
val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, defaultImports, builtIns)
|
||||
val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, builtIns)
|
||||
return MutableModuleContextImpl(module, projectContext)
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ fun TargetPlatform.createModule(
|
||||
storageManager: StorageManager,
|
||||
builtIns: KotlinBuiltIns,
|
||||
capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap()
|
||||
) = ModuleDescriptorImpl(name, storageManager, defaultImports, builtIns, capabilities)
|
||||
) = ModuleDescriptorImpl(name, storageManager, builtIns, capabilities)
|
||||
|
||||
|
||||
fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit)
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.isChildOf
|
||||
import org.jetbrains.kotlin.name.isSubpackageOf
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
@@ -31,11 +32,11 @@ import org.jetbrains.kotlin.utils.addToStdlib.check
|
||||
|
||||
class DefaultImportProvider(
|
||||
storageManager: StorageManager,
|
||||
private val moduleDescriptor: ModuleDescriptor
|
||||
moduleDescriptor: ModuleDescriptor,
|
||||
private val targetPlatform: TargetPlatform
|
||||
) {
|
||||
// TODO: get rid of ModuleDescriptor#defaultImports
|
||||
val defaultImports: List<ImportPath>
|
||||
get() = moduleDescriptor.defaultImports
|
||||
get() = targetPlatform.defaultImports
|
||||
|
||||
val excludedImports: List<FqName> by storageManager.createLazyValue {
|
||||
val packagesWithAliases = listOf(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME, KotlinBuiltIns.TEXT_PACKAGE_FQ_NAME)
|
||||
|
||||
Reference in New Issue
Block a user