add flexibleTypeCapabilitiesDeserializer field to BuiltinsPackageFragment

This commit is contained in:
Michael Nedzelsky
2015-03-07 18:58:13 +03:00
parent 77e9ab8ad7
commit a7ba93c1d1
3 changed files with 17 additions and 13 deletions
@@ -16,16 +16,17 @@
package org.jetbrains.kotlin.serialization.builtins
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
import java.io.File
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.test.JetTestUtils
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import java.io.FileInputStream
import org.jetbrains.kotlin.builtins.BuiltinsPackageFragment
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.TEST_PACKAGE_FQNAME
import org.jetbrains.kotlin.serialization.deserialization.FlexibleTypeCapabilitiesDeserializer
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.JetTestUtils
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
import java.io.File
import java.io.FileInputStream
public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
private fun doTest(fileName: String) {
@@ -39,11 +40,11 @@ public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
val module = JetTestUtils.createEmptyModule("<module>")
val packageFragment = BuiltinsPackageFragment(TEST_PACKAGE_FQNAME, LockBasedStorageManager(), module) {
path ->
val file = File(tmpdir, path)
if (file.exists()) FileInputStream(file) else null
}
val packageFragment =
BuiltinsPackageFragment(TEST_PACKAGE_FQNAME, LockBasedStorageManager(), module, FlexibleTypeCapabilitiesDeserializer.ThrowException) {
val file = File(tmpdir, it)
if (file.exists()) FileInputStream(file) else null
}
module.initialize(packageFragment.provider)
module.addDependencyOnModule(module)
@@ -40,6 +40,7 @@ public class BuiltinsPackageFragment(
fqName: FqName,
storageManager: StorageManager,
module: ModuleDescriptor,
flexibleTypeCapabilitiesDeserializer: FlexibleTypeCapabilitiesDeserializer,
private val loadResource: (path: String) -> InputStream?
) : PackageFragmentDescriptorImpl(module, fqName) {
@@ -64,7 +65,7 @@ public class BuiltinsPackageFragment(
storageManager, module, BuiltInsClassDataFinder(),
BuiltInsAnnotationAndConstantLoader(getContainingDeclaration()),
provider, localClassResolver,
FlexibleTypeCapabilitiesDeserializer.ThrowException
flexibleTypeCapabilitiesDeserializer
)
localClassResolver.setDeserializationComponents(components)
DeserializedPackageMemberScope(this, proto, nameResolver, components, { readClassNames(proto) })
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.ImportPath;
import org.jetbrains.kotlin.resolve.scopes.JetScope;
import org.jetbrains.kotlin.serialization.deserialization.FlexibleTypeCapabilitiesDeserializer;
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.types.*;
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
@@ -110,6 +111,7 @@ public class KotlinBuiltIns {
);
builtinsPackageFragment = new BuiltinsPackageFragment(
BUILT_INS_PACKAGE_FQ_NAME, new LockBasedStorageManager(), builtInsModule,
FlexibleTypeCapabilitiesDeserializer.ThrowException.INSTANCE$,
new Function1<String, InputStream>() {
@Override
public InputStream invoke(String path) {