Minor. Rename AdditionalSupertypes -> AdditionalClassPartsProvider
And relevant methods
This commit is contained in:
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy;
|
||||
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil;
|
||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
@@ -112,7 +112,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
||||
PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider(
|
||||
storageManager, builtInsModule, BUILT_INS_PACKAGE_FQ_NAMES,
|
||||
new BuiltInFictitiousFunctionClassFactory(storageManager, builtInsModule),
|
||||
AdditionalSupertypes.None.INSTANCE,
|
||||
AdditionalClassPartsProvider.None.INSTANCE,
|
||||
new Function1<String, InputStream>() {
|
||||
@Override
|
||||
public InputStream invoke(String path) {
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||
import org.jetbrains.kotlin.types.DelegatingType
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
@@ -37,7 +37,7 @@ import java.io.Serializable
|
||||
|
||||
class BuiltInClassesAreSerializableOnJvm(
|
||||
private val moduleDescriptor: ModuleDescriptor
|
||||
) : AdditionalSupertypes {
|
||||
) : AdditionalClassPartsProvider {
|
||||
|
||||
private val mockSerializableType = createMockJavaIoSerializableType()
|
||||
|
||||
@@ -61,7 +61,7 @@ class BuiltInClassesAreSerializableOnJvm(
|
||||
return mockSerializableClass.defaultType
|
||||
}
|
||||
|
||||
override fun forClass(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType> {
|
||||
override fun getSupertypes(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType> {
|
||||
if (isSerializableInJava(classDescriptor.fqNameSafe)) {
|
||||
return listOf(mockSerializableType)
|
||||
}
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ class DeserializationComponentsForJava(
|
||||
storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, localClassResolver,
|
||||
errorReporter, lookupTracker, FlexibleJavaClassifierTypeFactory, ClassDescriptorFactory.EMPTY,
|
||||
notFoundClasses, JavaTypeCapabilitiesLoader,
|
||||
additionalSupertypes = BuiltInClassesAreSerializableOnJvm(moduleDescriptor)
|
||||
additionalClassPartsProvider = BuiltInClassesAreSerializableOnJvm(moduleDescriptor)
|
||||
)
|
||||
localClassResolver.setDeserializationComponents(components)
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.platform
|
||||
import org.jetbrains.kotlin.builtins.BuiltInsInitializer
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.load.kotlin.BuiltInClassesAreSerializableOnJvm
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider
|
||||
|
||||
class JvmBuiltIns private constructor() : KotlinBuiltIns() {
|
||||
companion object {
|
||||
@@ -32,7 +32,7 @@ class JvmBuiltIns private constructor() : KotlinBuiltIns() {
|
||||
get() = initializer.get()
|
||||
}
|
||||
|
||||
override fun getAdditionalSupertypesProvider(): AdditionalSupertypes {
|
||||
override fun getAdditionalClassPartsProvider(): AdditionalClassPartsProvider {
|
||||
return BuiltInClassesAreSerializableOnJvm(builtInsModule)
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.types.*;
|
||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
|
||||
@@ -84,7 +84,7 @@ public abstract class KotlinBuiltIns {
|
||||
PackageFragmentProvider packageFragmentProvider = BuiltInsPackageFragmentProviderKt.createBuiltInPackageFragmentProvider(
|
||||
storageManager, builtInsModule, BUILT_INS_PACKAGE_FQ_NAMES,
|
||||
new BuiltInFictitiousFunctionClassFactory(storageManager, builtInsModule),
|
||||
getAdditionalSupertypesProvider(),
|
||||
getAdditionalClassPartsProvider(),
|
||||
new Function1<String, InputStream>() {
|
||||
@Override
|
||||
public InputStream invoke(String path) {
|
||||
@@ -114,8 +114,8 @@ public abstract class KotlinBuiltIns {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected AdditionalSupertypes getAdditionalSupertypesProvider() {
|
||||
return AdditionalSupertypes.None.INSTANCE;
|
||||
protected AdditionalClassPartsProvider getAdditionalClassPartsProvider() {
|
||||
return AdditionalClassPartsProvider.None.INSTANCE;
|
||||
}
|
||||
|
||||
private void makePrimitive(@NotNull PrimitiveType primitiveType) {
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ fun createBuiltInPackageFragmentProvider(
|
||||
module: ModuleDescriptor,
|
||||
packageFqNames: Set<FqName>,
|
||||
classDescriptorFactory: ClassDescriptorFactory,
|
||||
additionalSupertypes: AdditionalSupertypes = AdditionalSupertypes.None,
|
||||
additionalClassPartsProvider: AdditionalClassPartsProvider = AdditionalClassPartsProvider.None,
|
||||
loadResource: (String) -> InputStream?
|
||||
): PackageFragmentProvider {
|
||||
val packageFragments = packageFqNames.map { fqName ->
|
||||
@@ -54,7 +54,7 @@ fun createBuiltInPackageFragmentProvider(
|
||||
FlexibleTypeFactory.ThrowException,
|
||||
classDescriptorFactory,
|
||||
notFoundClasses,
|
||||
additionalSupertypes = additionalSupertypes
|
||||
additionalClassPartsProvider = additionalClassPartsProvider
|
||||
)
|
||||
|
||||
localClassResolver.setDeserializationComponents(components)
|
||||
|
||||
+5
-5
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.serialization.deserialization
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
interface AdditionalSupertypes {
|
||||
fun forClass(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType>
|
||||
interface AdditionalClassPartsProvider {
|
||||
fun getSupertypes(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType>
|
||||
|
||||
object None : AdditionalSupertypes {
|
||||
override fun forClass(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType> = emptyList()
|
||||
object None : AdditionalClassPartsProvider {
|
||||
override fun getSupertypes(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType> = emptyList()
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -39,7 +39,7 @@ class DeserializationComponents(
|
||||
val fictitiousClassDescriptorFactory: ClassDescriptorFactory,
|
||||
val notFoundClasses: NotFoundClasses,
|
||||
val typeCapabilitiesLoader: TypeCapabilitiesLoader = TypeCapabilitiesLoader.NONE,
|
||||
val additionalSupertypes: AdditionalSupertypes = AdditionalSupertypes.None
|
||||
val additionalClassPartsProvider: AdditionalClassPartsProvider = AdditionalClassPartsProvider.None
|
||||
) {
|
||||
val classDeserializer: ClassDeserializer = ClassDeserializer(this)
|
||||
|
||||
|
||||
+1
-1
@@ -152,7 +152,7 @@ class DeserializedClassDescriptor(
|
||||
override fun computeSupertypes(): Collection<KotlinType> {
|
||||
val result = classProto.supertypes(c.typeTable).map { supertypeProto ->
|
||||
c.typeDeserializer.type(supertypeProto)
|
||||
} + c.components.additionalSupertypes.forClass(this@DeserializedClassDescriptor)
|
||||
} + c.components.additionalClassPartsProvider.getSupertypes(this@DeserializedClassDescriptor)
|
||||
|
||||
val unresolved = result.mapNotNull { supertype ->
|
||||
supertype.constructor.declarationDescriptor as? NotFoundClasses.MockClassDescriptor
|
||||
|
||||
Reference in New Issue
Block a user