Minor. Rename AdditionalSupertypes -> AdditionalClassPartsProvider

And relevant methods
This commit is contained in:
Denis Zharkov
2016-04-04 12:17:59 +03:00
parent c918b3e1ae
commit 51a4b81d3e
9 changed files with 21 additions and 21 deletions
@@ -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) {
@@ -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)
} }
@@ -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) {
@@ -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)
@@ -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()
} }
} }
@@ -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)
@@ -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