Allow multiple ClassDescriptorFactory instances in deserialization

This commit is contained in:
Alexander Udalov
2016-10-12 16:45:44 +03:00
parent cdabef51ed
commit c0147860bd
13 changed files with 21 additions and 24 deletions
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.builtins.DefaultBuiltIns
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.serialization.deserialization.ClassDescriptorFactory
import org.jetbrains.kotlin.serialization.deserialization.PlatformDependentDeclarationFilter
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -42,8 +41,7 @@ class BuiltInsSerializerTest : TestCaseWithTmpdir() {
val module = KotlinTestUtils.createEmptyModule("<module>", DefaultBuiltIns.Instance)
val packageFragmentProvider = createBuiltInPackageFragmentProvider(
LockBasedStorageManager(), module, setOf(TEST_PACKAGE_FQNAME), ClassDescriptorFactory.EMPTY,
PlatformDependentDeclarationFilter.All
LockBasedStorageManager(), module, setOf(TEST_PACKAGE_FQNAME), emptyList(), PlatformDependentDeclarationFilter.All
) {
val file = File(tmpdir, it)
if (file.exists()) FileInputStream(file) else null
@@ -50,6 +50,7 @@ import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
import java.io.File;
import java.io.InputStream;
import java.util.Collections;
import java.util.List;
import java.util.regex.Pattern;
@@ -112,7 +113,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider(
storageManager, builtInsModule, BUILT_INS_PACKAGE_FQ_NAMES,
new BuiltInFictitiousFunctionClassFactory(storageManager, builtInsModule),
Collections.singletonList(new BuiltInFictitiousFunctionClassFactory(storageManager, builtInsModule)),
PlatformDependentDeclarationFilter.All.INSTANCE,
AdditionalClassPartsProvider.None.INSTANCE,
new Function1<String, InputStream>() {