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:
Alexander Udalov
2016-09-24 17:37:23 +03:00
parent b77388bd48
commit 7070b88ea4
8 changed files with 7 additions and 49 deletions
@@ -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() {