add flexibleTypeCapabilitiesDeserializer field to BuiltinsPackageFragment
This commit is contained in:
+13
-12
@@ -16,16 +16,17 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.serialization.builtins
|
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.BuiltinsPackageFragment
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
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.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() {
|
public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
|
||||||
private fun doTest(fileName: String) {
|
private fun doTest(fileName: String) {
|
||||||
@@ -39,11 +40,11 @@ public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
|
|||||||
|
|
||||||
val module = JetTestUtils.createEmptyModule("<module>")
|
val module = JetTestUtils.createEmptyModule("<module>")
|
||||||
|
|
||||||
val packageFragment = BuiltinsPackageFragment(TEST_PACKAGE_FQNAME, LockBasedStorageManager(), module) {
|
val packageFragment =
|
||||||
path ->
|
BuiltinsPackageFragment(TEST_PACKAGE_FQNAME, LockBasedStorageManager(), module, FlexibleTypeCapabilitiesDeserializer.ThrowException) {
|
||||||
val file = File(tmpdir, path)
|
val file = File(tmpdir, it)
|
||||||
if (file.exists()) FileInputStream(file) else null
|
if (file.exists()) FileInputStream(file) else null
|
||||||
}
|
}
|
||||||
|
|
||||||
module.initialize(packageFragment.provider)
|
module.initialize(packageFragment.provider)
|
||||||
module.addDependencyOnModule(module)
|
module.addDependencyOnModule(module)
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ public class BuiltinsPackageFragment(
|
|||||||
fqName: FqName,
|
fqName: FqName,
|
||||||
storageManager: StorageManager,
|
storageManager: StorageManager,
|
||||||
module: ModuleDescriptor,
|
module: ModuleDescriptor,
|
||||||
|
flexibleTypeCapabilitiesDeserializer: FlexibleTypeCapabilitiesDeserializer,
|
||||||
private val loadResource: (path: String) -> InputStream?
|
private val loadResource: (path: String) -> InputStream?
|
||||||
) : PackageFragmentDescriptorImpl(module, fqName) {
|
) : PackageFragmentDescriptorImpl(module, fqName) {
|
||||||
|
|
||||||
@@ -64,7 +65,7 @@ public class BuiltinsPackageFragment(
|
|||||||
storageManager, module, BuiltInsClassDataFinder(),
|
storageManager, module, BuiltInsClassDataFinder(),
|
||||||
BuiltInsAnnotationAndConstantLoader(getContainingDeclaration()),
|
BuiltInsAnnotationAndConstantLoader(getContainingDeclaration()),
|
||||||
provider, localClassResolver,
|
provider, localClassResolver,
|
||||||
FlexibleTypeCapabilitiesDeserializer.ThrowException
|
flexibleTypeCapabilitiesDeserializer
|
||||||
)
|
)
|
||||||
localClassResolver.setDeserializationComponents(components)
|
localClassResolver.setDeserializationComponents(components)
|
||||||
DeserializedPackageMemberScope(this, proto, nameResolver, components, { readClassNames(proto) })
|
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.DescriptorUtils;
|
||||||
import org.jetbrains.kotlin.resolve.ImportPath;
|
import org.jetbrains.kotlin.resolve.ImportPath;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.FlexibleTypeCapabilitiesDeserializer;
|
||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||||
import org.jetbrains.kotlin.types.*;
|
import org.jetbrains.kotlin.types.*;
|
||||||
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
|
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
|
||||||
@@ -110,6 +111,7 @@ public class KotlinBuiltIns {
|
|||||||
);
|
);
|
||||||
builtinsPackageFragment = new BuiltinsPackageFragment(
|
builtinsPackageFragment = new BuiltinsPackageFragment(
|
||||||
BUILT_INS_PACKAGE_FQ_NAME, new LockBasedStorageManager(), builtInsModule,
|
BUILT_INS_PACKAGE_FQ_NAME, new LockBasedStorageManager(), builtInsModule,
|
||||||
|
FlexibleTypeCapabilitiesDeserializer.ThrowException.INSTANCE$,
|
||||||
new Function1<String, InputStream>() {
|
new Function1<String, InputStream>() {
|
||||||
@Override
|
@Override
|
||||||
public InputStream invoke(String path) {
|
public InputStream invoke(String path) {
|
||||||
|
|||||||
Reference in New Issue
Block a user