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