Drop ModuleParameters, inline defaultImports everywhere
This commit is contained in:
+25
-30
@@ -17,8 +17,6 @@
|
||||
package org.jetbrains.kotlin.resolve.jvm.platform
|
||||
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ModuleParameters
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||
@@ -28,34 +26,31 @@ import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
import java.util.*
|
||||
|
||||
object JvmPlatform : TargetPlatform("JVM") {
|
||||
override val defaultModuleParameters = object : ModuleParameters {
|
||||
override val defaultImports: List<ImportPath>
|
||||
get() = DEFAULT_IMPORTS_FOR_JVM
|
||||
}
|
||||
override val defaultImports: List<ImportPath>
|
||||
get() = ArrayList<ImportPath>().apply {
|
||||
add(ImportPath("java.lang.*"))
|
||||
add(ImportPath("kotlin.*"))
|
||||
add(ImportPath("kotlin.annotation.*"))
|
||||
add(ImportPath("kotlin.jvm.*"))
|
||||
add(ImportPath("kotlin.collections.*"))
|
||||
add(ImportPath("kotlin.coroutines.*"))
|
||||
add(ImportPath("kotlin.ranges.*"))
|
||||
add(ImportPath("kotlin.sequences.*"))
|
||||
add(ImportPath("kotlin.text.*"))
|
||||
add(ImportPath("kotlin.io.*"))
|
||||
|
||||
fun addAllClassifiersFromScope(scope: MemberScope) {
|
||||
for (descriptor in scope.getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS, MemberScope.ALL_NAME_FILTER)) {
|
||||
add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false))
|
||||
}
|
||||
}
|
||||
|
||||
val builtIns = DefaultBuiltIns.Instance
|
||||
for (builtinPackageFragment in builtIns.builtInsPackageFragments) {
|
||||
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override val platformConfigurator: PlatformConfigurator = JvmPlatformConfigurator
|
||||
}
|
||||
|
||||
private val DEFAULT_IMPORTS_FOR_JVM: List<ImportPath> = ArrayList<ImportPath>().apply {
|
||||
add(ImportPath("java.lang.*"))
|
||||
add(ImportPath("kotlin.*"))
|
||||
add(ImportPath("kotlin.annotation.*"))
|
||||
add(ImportPath("kotlin.jvm.*"))
|
||||
add(ImportPath("kotlin.collections.*"))
|
||||
add(ImportPath("kotlin.coroutines.*"))
|
||||
add(ImportPath("kotlin.ranges.*"))
|
||||
add(ImportPath("kotlin.sequences.*"))
|
||||
add(ImportPath("kotlin.text.*"))
|
||||
add(ImportPath("kotlin.io.*"))
|
||||
|
||||
fun addAllClassifiersFromScope(scope: MemberScope) {
|
||||
for (descriptor in scope.getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS, MemberScope.ALL_NAME_FILTER)) {
|
||||
add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false))
|
||||
}
|
||||
}
|
||||
|
||||
val builtIns = DefaultBuiltIns.Instance
|
||||
for (builtinPackageFragment in builtIns.builtInsPackageFragments) {
|
||||
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.context
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ModuleParameters
|
||||
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
|
||||
@@ -100,11 +100,11 @@ fun ProjectContext.withModule(module: ModuleDescriptor): ModuleContext = ModuleC
|
||||
fun ContextForNewModule(
|
||||
project: Project,
|
||||
moduleName: Name,
|
||||
parameters: ModuleParameters,
|
||||
defaultImports: List<ImportPath>,
|
||||
builtIns: KotlinBuiltIns
|
||||
): MutableModuleContext {
|
||||
val projectContext = ProjectContext(project)
|
||||
val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, parameters, builtIns)
|
||||
val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, defaultImports, builtIns)
|
||||
return MutableModuleContextImpl(module, projectContext)
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.container.StorageComponentContainer
|
||||
import org.jetbrains.kotlin.container.composeContainer
|
||||
import org.jetbrains.kotlin.container.useInstance
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ModuleParameters
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
@@ -33,18 +32,14 @@ import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
import org.jetbrains.kotlin.types.DynamicTypesSettings
|
||||
|
||||
abstract class TargetPlatform(
|
||||
val platformName: String
|
||||
) {
|
||||
override fun toString(): String {
|
||||
return platformName
|
||||
}
|
||||
abstract class TargetPlatform(val platformName: String) {
|
||||
override fun toString() = platformName
|
||||
|
||||
abstract val platformConfigurator: PlatformConfigurator
|
||||
abstract val defaultModuleParameters: ModuleParameters
|
||||
abstract val defaultImports: List<ImportPath>
|
||||
|
||||
object Default : TargetPlatform("Default") {
|
||||
override val defaultModuleParameters = ModuleParameters.Empty
|
||||
override val defaultImports = emptyList<ImportPath>()
|
||||
override val platformConfigurator =
|
||||
object : PlatformConfigurator(DynamicTypesSettings(), listOf(), listOf(), listOf(), listOf(), listOf(),
|
||||
IdentifierChecker.DEFAULT, OverloadFilter.DEFAULT, PlatformToKotlinClassMap.EMPTY) {
|
||||
@@ -115,7 +110,7 @@ fun TargetPlatform.createModule(
|
||||
storageManager: StorageManager,
|
||||
builtIns: KotlinBuiltIns,
|
||||
capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap()
|
||||
) = ModuleDescriptorImpl(name, storageManager, defaultModuleParameters, builtIns, capabilities)
|
||||
) = ModuleDescriptorImpl(name, storageManager, defaultImports, builtIns, capabilities)
|
||||
|
||||
|
||||
fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit)
|
||||
|
||||
@@ -961,9 +961,7 @@ public class KotlinTestUtils {
|
||||
|
||||
@NotNull
|
||||
public static ModuleDescriptorImpl createEmptyModule(@NotNull String name, @NotNull TargetPlatform platform, KotlinBuiltIns builtIns) {
|
||||
return new ModuleDescriptorImpl(
|
||||
Name.special(name), LockBasedStorageManager.NO_LOCKS, platform.getDefaultModuleParameters(), builtIns
|
||||
);
|
||||
return new ModuleDescriptorImpl(Name.special(name), LockBasedStorageManager.NO_LOCKS, platform.getDefaultImports(), builtIns);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.builtins.functions.BuiltInFictitiousFunctionClassFac
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleParameters;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||
@@ -38,6 +37,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy;
|
||||
import org.jetbrains.kotlin.resolve.ImportPath;
|
||||
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtilsKt;
|
||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
|
||||
@@ -51,6 +51,7 @@ import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -109,7 +110,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
||||
private static PackageFragmentProvider createBuiltInsPackageFragmentProvider() {
|
||||
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
||||
ModuleDescriptorImpl builtInsModule = new ModuleDescriptorImpl(
|
||||
KotlinBuiltIns.BUILTINS_MODULE_NAME, storageManager, ModuleParameters.Empty.INSTANCE, DefaultBuiltIns.getInstance()
|
||||
KotlinBuiltIns.BUILTINS_MODULE_NAME, storageManager, Collections.<ImportPath>emptyList(), DefaultBuiltIns.getInstance()
|
||||
);
|
||||
|
||||
PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider(
|
||||
|
||||
Reference in New Issue
Block a user