Minor. Replace type entries of BuiltInsPackageFragment with interface

This commit is contained in:
Denis Zharkov
2016-04-01 18:29:32 +03:00
parent 7fe5a9db8d
commit c918b3e1ae
2 changed files with 16 additions and 16 deletions
@@ -24,9 +24,9 @@ import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.BuiltInsPackageFragment;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
@@ -68,9 +68,9 @@ public class TypeUnifierTest extends KotlinTestWithEnvironment {
builtIns = module.getBuiltIns(); builtIns = module.getBuiltIns();
builtinsImportingScope = ScopeUtilsKt.chainImportingScopes( builtinsImportingScope = ScopeUtilsKt.chainImportingScopes(
// builtIns.builtinsPackageFragments.map { it.memberScope.memberScopeAsImportingScope() } // builtIns.builtinsPackageFragments.map { it.memberScope.memberScopeAsImportingScope() }
CollectionsKt.map(builtIns.getBuiltInsPackageFragments(), new Function1<BuiltInsPackageFragment, ImportingScope>() { CollectionsKt.map(builtIns.getBuiltInsPackageFragments(), new Function1<PackageFragmentDescriptor, ImportingScope>() {
@Override @Override
public ImportingScope invoke(BuiltInsPackageFragment packageFragment) { public ImportingScope invoke(PackageFragmentDescriptor packageFragment) {
return ScopeUtilsKt.memberScopeAsImportingScope(packageFragment.getMemberScope()); return ScopeUtilsKt.memberScopeAsImportingScope(packageFragment.getMemberScope());
} }
}), null); }), null);
@@ -61,17 +61,17 @@ public abstract class KotlinBuiltIns {
); );
protected final ModuleDescriptorImpl builtInsModule; protected final ModuleDescriptorImpl builtInsModule;
private final BuiltInsPackageFragment builtInsPackageFragment; private final PackageFragmentDescriptor builtInsPackageFragment;
private final BuiltInsPackageFragment collectionsPackageFragment; private final PackageFragmentDescriptor collectionsPackageFragment;
private final BuiltInsPackageFragment rangesPackageFragment; private final PackageFragmentDescriptor rangesPackageFragment;
private final BuiltInsPackageFragment annotationPackageFragment; private final PackageFragmentDescriptor annotationPackageFragment;
private final Set<BuiltInsPackageFragment> builtInsPackageFragments; private final Set<PackageFragmentDescriptor> builtInsPackageFragments;
private final Map<PrimitiveType, KotlinType> primitiveTypeToArrayKotlinType; private final Map<PrimitiveType, KotlinType> primitiveTypeToArrayKotlinType;
private final Map<KotlinType, KotlinType> primitiveKotlinTypeToKotlinArrayType; private final Map<KotlinType, KotlinType> primitiveKotlinTypeToKotlinArrayType;
private final Map<KotlinType, KotlinType> kotlinArrayTypeToPrimitiveKotlinType; private final Map<KotlinType, KotlinType> kotlinArrayTypeToPrimitiveKotlinType;
private final Map<FqName, BuiltInsPackageFragment> packageNameToPackageFragment; private final Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment;
public static final FqNames FQ_NAMES = new FqNames(); public static final FqNames FQ_NAMES = new FqNames();
@@ -96,14 +96,14 @@ public abstract class KotlinBuiltIns {
builtInsModule.initialize(packageFragmentProvider); builtInsModule.initialize(packageFragmentProvider);
builtInsModule.setDependencies(builtInsModule); builtInsModule.setDependencies(builtInsModule);
packageNameToPackageFragment = new LinkedHashMap<FqName, BuiltInsPackageFragment>(); packageNameToPackageFragment = new LinkedHashMap<FqName, PackageFragmentDescriptor>();
builtInsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, BUILT_INS_PACKAGE_FQ_NAME); builtInsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, BUILT_INS_PACKAGE_FQ_NAME);
collectionsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, COLLECTIONS_PACKAGE_FQ_NAME); collectionsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, COLLECTIONS_PACKAGE_FQ_NAME);
rangesPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, RANGES_PACKAGE_FQ_NAME); rangesPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, RANGES_PACKAGE_FQ_NAME);
annotationPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, ANNOTATION_PACKAGE_FQ_NAME); annotationPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, ANNOTATION_PACKAGE_FQ_NAME);
builtInsPackageFragments = new LinkedHashSet<BuiltInsPackageFragment>(packageNameToPackageFragment.values()); builtInsPackageFragments = new LinkedHashSet<PackageFragmentDescriptor>(packageNameToPackageFragment.values());
primitiveTypeToArrayKotlinType = new EnumMap<PrimitiveType, KotlinType>(PrimitiveType.class); primitiveTypeToArrayKotlinType = new EnumMap<PrimitiveType, KotlinType>(PrimitiveType.class);
primitiveKotlinTypeToKotlinArrayType = new HashMap<KotlinType, KotlinType>(); primitiveKotlinTypeToKotlinArrayType = new HashMap<KotlinType, KotlinType>();
@@ -129,12 +129,12 @@ public abstract class KotlinBuiltIns {
@NotNull @NotNull
private static BuiltInsPackageFragment createPackage( private static PackageFragmentDescriptor createPackage(
@NotNull PackageFragmentProvider fragmentProvider, @NotNull PackageFragmentProvider fragmentProvider,
@NotNull Map<FqName, BuiltInsPackageFragment> packageNameToPackageFragment, @NotNull Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment,
@NotNull FqName packageFqName @NotNull FqName packageFqName
) { ) {
BuiltInsPackageFragment packageFragment = (BuiltInsPackageFragment) single(fragmentProvider.getPackageFragments(packageFqName)); PackageFragmentDescriptor packageFragment = single(fragmentProvider.getPackageFragments(packageFqName));
packageNameToPackageFragment.put(packageFqName, packageFragment); packageNameToPackageFragment.put(packageFqName, packageFragment);
return packageFragment; return packageFragment;
} }
@@ -248,7 +248,7 @@ public abstract class KotlinBuiltIns {
} }
@NotNull @NotNull
public Set<BuiltInsPackageFragment> getBuiltInsPackageFragments() { public Set<PackageFragmentDescriptor> getBuiltInsPackageFragments() {
return builtInsPackageFragments; return builtInsPackageFragments;
} }
@@ -292,7 +292,7 @@ public abstract class KotlinBuiltIns {
public ClassDescriptor getBuiltInClassByFqNameNullable(@NotNull FqName fqName) { public ClassDescriptor getBuiltInClassByFqNameNullable(@NotNull FqName fqName) {
if (!fqName.isRoot()) { if (!fqName.isRoot()) {
FqName parent = fqName.parent(); FqName parent = fqName.parent();
BuiltInsPackageFragment packageFragment = packageNameToPackageFragment.get(parent); PackageFragmentDescriptor packageFragment = packageNameToPackageFragment.get(parent);
if (packageFragment != null) { if (packageFragment != null) {
ClassDescriptor descriptor = getBuiltInClassByNameNullable(fqName.shortName(), packageFragment); ClassDescriptor descriptor = getBuiltInClassByNameNullable(fqName.shortName(), packageFragment);
if (descriptor != null) { if (descriptor != null) {