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,10 +16,10 @@
package org.jetbrains.kotlin.serialization.builtins
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.createBuiltInPackageFragmentProvider
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.TEST_PACKAGE_FQNAME
import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.serialization.deserialization.ClassDescriptorFactory
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.JetTestUtils
@@ -38,7 +38,8 @@ public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
onComplete = { totalSize, totalFiles -> }
)
val module = JetTestUtils.createEmptyModule("<module>")
val platform = TargetPlatform.Default
val module = JetTestUtils.createEmptyModule("<module>", platform)
val packageFragmentProvider = createBuiltInPackageFragmentProvider(
LockBasedStorageManager(), module, setOf(TEST_PACKAGE_FQNAME), ClassDescriptorFactory.EMPTY
@@ -48,7 +49,7 @@ public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
}
module.initialize(packageFragmentProvider)
module.setDependencies(module, KotlinBuiltIns.getInstance().getBuiltInsModule())
module.setDependencies(module, module.builtIns.builtInsModule)
RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile(
module.getPackage(TEST_PACKAGE_FQNAME),
@@ -21,7 +21,7 @@ import com.intellij.util.containers.ContainerUtil;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.builtins.DefaultBuiltIns;
import org.jetbrains.kotlin.builtins.functions.BuiltInFictitiousFunctionClassFactory;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
@@ -103,7 +103,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
private static PackageFragmentDescriptor createBuiltInsPackageFragment() {
LockBasedStorageManager storageManager = new LockBasedStorageManager();
ModuleDescriptorImpl builtInsModule = new ModuleDescriptorImpl(
Name.special("<built-ins module>"), storageManager, ModuleParameters.Empty.INSTANCE$, KotlinBuiltIns.getInstance()
Name.special("<built-ins module>"), storageManager, ModuleParameters.Empty.INSTANCE$, DefaultBuiltIns.getInstance()
);
PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider(