Minor. Replace type entries of BuiltInsPackageFragment with interface
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user