Introduce JvmBuiltIns and DefaultBuiltIns, different instances of KotlinBuiltIns

Make KotlinBuiltIns an abstract class
JsPlatform has DefaultBuiltIns
This commit is contained in:
Pavel V. Talanov
2015-09-23 20:42:29 +03:00
parent 4b9e167fd2
commit 76029ee9b2
15 changed files with 163 additions and 72 deletions
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.load.kotlin.reflect
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.ReflectionTypes
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters
@@ -33,6 +32,7 @@ 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
import org.jetbrains.kotlin.serialization.deserialization.LocalClassResolver
@@ -44,7 +44,7 @@ public class RuntimeModuleData private constructor(public val deserialization: D
companion object {
public fun create(classLoader: ClassLoader): RuntimeModuleData {
val builtIns = KotlinBuiltIns.getInstance()
val builtIns = JvmBuiltIns.Instance
val storageManager = LockBasedStorageManager()
val module = ModuleDescriptorImpl(Name.special("<runtime module for $classLoader>"), storageManager,
ModuleParameters(listOf(), JavaToKotlinClassMap.INSTANCE), builtIns)