Collect nested classes from all 4 builtin packages.

This commit is contained in:
Ilya Gorbunov
2015-12-23 23:58:53 +03:00
parent e500e4bdf4
commit 1129cee0ff
3 changed files with 18 additions and 8 deletions
@@ -67,6 +67,8 @@ public abstract class KotlinBuiltIns {
private final BuiltinsPackageFragment rangesPackageFragment;
private final BuiltinsPackageFragment annotationPackageFragment;
private final Set<BuiltinsPackageFragment> builtinsPackageFragments;
private final Map<PrimitiveType, KotlinType> primitiveTypeToArrayKotlinType;
private final Map<KotlinType, KotlinType> primitiveKotlinTypeToKotlinArrayType;
private final Map<KotlinType, KotlinType> kotlinArrayTypeToPrimitiveKotlinType;
@@ -95,13 +97,15 @@ public abstract class KotlinBuiltIns {
builtInsModule.initialize(packageFragmentProvider);
builtInsModule.setDependencies(builtInsModule);
packageNameToPackageFragment = new HashMap<FqName, BuiltinsPackageFragment>();
packageNameToPackageFragment = new LinkedHashMap<FqName, BuiltinsPackageFragment>();
builtinsPackageFragment = getBuiltinsPackageFragment(packageFragmentProvider, packageNameToPackageFragment, BUILT_INS_PACKAGE_FQ_NAME);
collectionsPackageFragment = getBuiltinsPackageFragment(packageFragmentProvider, packageNameToPackageFragment, COLLECTIONS_PACKAGE_FQ_NAME);
rangesPackageFragment = getBuiltinsPackageFragment(packageFragmentProvider, packageNameToPackageFragment, RANGES_PACKAGE_FQ_NAME);
annotationPackageFragment = getBuiltinsPackageFragment(packageFragmentProvider, packageNameToPackageFragment, ANNOTATION_PACKAGE_FQ_NAME);
builtinsPackageFragments = new LinkedHashSet<BuiltinsPackageFragment>(packageNameToPackageFragment.values());
primitiveTypeToArrayKotlinType = new EnumMap<PrimitiveType, KotlinType>(PrimitiveType.class);
primitiveKotlinTypeToKotlinArrayType = new HashMap<KotlinType, KotlinType>();
kotlinArrayTypeToPrimitiveKotlinType = new HashMap<KotlinType, KotlinType>();
@@ -246,6 +250,11 @@ public abstract class KotlinBuiltIns {
return builtInsModule;
}
@NotNull
public Set<BuiltinsPackageFragment> getBuiltinsPackageFragments() {
return builtinsPackageFragments;
}
@NotNull
public PackageFragmentDescriptor getBuiltInsPackageFragment() {
return builtinsPackageFragment;