Move PlatformToKotlinClassMap out from ModuleParameters
Configure it in the same way as other platform-specific components instead, simplify some code
This commit is contained in:
@@ -19,8 +19,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.platform.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||
@@ -31,8 +29,6 @@ import java.util.*
|
||||
|
||||
object JvmPlatform : TargetPlatform("JVM") {
|
||||
override val defaultModuleParameters = object : ModuleParameters {
|
||||
override val platformToKotlinClassMap: PlatformToKotlinClassMap
|
||||
get() = JavaToKotlinClassMap.INSTANCE
|
||||
override val defaultImports: List<ImportPath>
|
||||
get() = DEFAULT_IMPORTS_FOR_JVM
|
||||
override val excludedImports: List<FqName>
|
||||
|
||||
@@ -23,7 +23,6 @@ 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.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.resolve.createModule
|
||||
import org.jetbrains.kotlin.storage.ExceptionTracker
|
||||
@@ -41,9 +40,6 @@ interface ProjectContext : GlobalContext {
|
||||
|
||||
interface ModuleContext : ProjectContext {
|
||||
val module: ModuleDescriptor
|
||||
|
||||
val platformToKotlinClassMap: PlatformToKotlinClassMap
|
||||
get() = module.platformToKotlinClassMap
|
||||
}
|
||||
|
||||
interface MutableModuleContext: ModuleContext {
|
||||
|
||||
@@ -40,7 +40,6 @@ fun StorageComponentContainer.configureModule(
|
||||
useInstance(moduleContext.project)
|
||||
useInstance(moduleContext.storageManager)
|
||||
useInstance(moduleContext.module.builtIns)
|
||||
useInstance(moduleContext.platformToKotlinClassMap)
|
||||
|
||||
useInstance(platform)
|
||||
|
||||
|
||||
+3
-3
@@ -32,7 +32,6 @@ import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
|
||||
import org.jetbrains.kotlin.load.kotlin.DeserializedDescriptorResolver
|
||||
import org.jetbrains.kotlin.load.kotlin.JavaClassDataFinder
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
|
||||
import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents
|
||||
@@ -46,8 +45,9 @@ class RuntimeModuleData private constructor(val deserialization: Deserialization
|
||||
fun create(classLoader: ClassLoader): RuntimeModuleData {
|
||||
val storageManager = LockBasedStorageManager()
|
||||
val builtIns = JvmBuiltIns(storageManager)
|
||||
val module = ModuleDescriptorImpl(Name.special("<runtime module for $classLoader>"), storageManager,
|
||||
ModuleParameters(emptyList(), emptyList(), JavaToKotlinClassMap.INSTANCE), builtIns)
|
||||
val module = ModuleDescriptorImpl(
|
||||
Name.special("<runtime module for $classLoader>"), storageManager, ModuleParameters.Empty, builtIns
|
||||
)
|
||||
|
||||
val reflectKotlinClassFinder = ReflectKotlinClassFinder(classLoader)
|
||||
val deserializedDescriptorResolver = DeserializedDescriptorResolver(RuntimeErrorReporter)
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.descriptors
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.types.TypeSubstitutor
|
||||
|
||||
@@ -50,17 +49,8 @@ interface ModuleDescriptor : DeclarationDescriptor, ModuleParameters {
|
||||
interface ModuleParameters {
|
||||
val defaultImports: List<ImportPath>
|
||||
val excludedImports: List<FqName> get() = emptyList()
|
||||
val platformToKotlinClassMap: PlatformToKotlinClassMap
|
||||
|
||||
object Empty: ModuleParameters {
|
||||
object Empty : ModuleParameters {
|
||||
override val defaultImports: List<ImportPath> = emptyList()
|
||||
override val platformToKotlinClassMap: PlatformToKotlinClassMap = PlatformToKotlinClassMap.EMPTY
|
||||
}
|
||||
}
|
||||
|
||||
fun ModuleParameters(defaultImports: List<ImportPath>, excludedImports: List<FqName>, platformToKotlinClassMap: PlatformToKotlinClassMap): ModuleParameters =
|
||||
object : ModuleParameters {
|
||||
override val defaultImports: List<ImportPath> = defaultImports
|
||||
override val excludedImports: List<FqName> get() = excludedImports
|
||||
override val platformToKotlinClassMap: PlatformToKotlinClassMap = platformToKotlinClassMap
|
||||
}
|
||||
|
||||
@@ -23,14 +23,13 @@ import org.jetbrains.kotlin.builtins.DefaultBuiltIns;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ClassConstructorDescriptorImpl;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl;
|
||||
import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl;
|
||||
import org.jetbrains.kotlin.descriptors.impl.TypeParameterDescriptorImpl;
|
||||
import org.jetbrains.kotlin.incremental.components.LookupLocation;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.kotlin.resolve.ImportPath;
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
|
||||
@@ -57,12 +56,6 @@ public class ErrorUtils {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public PlatformToKotlinClassMap getPlatformToKotlinClassMap() {
|
||||
throw new IllegalStateException("Should not be called!");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<ImportPath> getDefaultImports() {
|
||||
|
||||
+2
-14
@@ -46,8 +46,6 @@ import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl;
|
||||
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.*;
|
||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil;
|
||||
@@ -56,7 +54,6 @@ import org.jetbrains.kotlin.name.ClassId;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap;
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.kotlin.psi.*;
|
||||
import org.jetbrains.kotlin.resolve.BindingTraceContext;
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform;
|
||||
@@ -239,17 +236,8 @@ public class SourceNavigationHelper {
|
||||
@NotNull Collection<KtNamedDeclaration> candidates,
|
||||
@NotNull Project project
|
||||
) {
|
||||
|
||||
TargetPlatform platform = TargetPlatform.Default.INSTANCE;
|
||||
ModuleParameters defaultJvmModuleParameters = JvmPlatform.INSTANCE.getDefaultModuleParameters();
|
||||
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
|
||||
project, Name.special("<library module>"),
|
||||
ModuleDescriptorKt.ModuleParameters(
|
||||
defaultJvmModuleParameters.getDefaultImports(),
|
||||
defaultJvmModuleParameters.getExcludedImports(),
|
||||
PlatformToKotlinClassMap.EMPTY
|
||||
),
|
||||
DefaultBuiltIns.getInstance()
|
||||
project, Name.special("<library module>"), JvmPlatform.INSTANCE.getDefaultModuleParameters(), DefaultBuiltIns.getInstance()
|
||||
);
|
||||
|
||||
newModuleContext.setDependencies(newModuleContext.getModule(), newModuleContext.getModule().getBuiltIns().getBuiltInsModule());
|
||||
@@ -263,7 +251,7 @@ public class SourceNavigationHelper {
|
||||
newModuleContext,
|
||||
providerFactory,
|
||||
new BindingTraceContext(),
|
||||
platform,
|
||||
TargetPlatform.Default.INSTANCE,
|
||||
LanguageVersionSettingsImpl.DEFAULT // TODO: see KT-12410
|
||||
);
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.google.common.collect.ImmutableList
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ModuleParameters
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
@@ -37,9 +36,6 @@ object JsPlatform : TargetPlatform("JS") {
|
||||
ImportPath("kotlin.text.*"),
|
||||
ImportPath("kotlin.js.*")
|
||||
)
|
||||
|
||||
override val platformToKotlinClassMap: PlatformToKotlinClassMap
|
||||
get() = PlatformToKotlinClassMap.EMPTY
|
||||
}
|
||||
|
||||
override val platformConfigurator: PlatformConfigurator = JsPlatformConfigurator
|
||||
|
||||
Reference in New Issue
Block a user