Code refactoring - no need to filter out classes with Kotlin analogs from inside classes
This commit is contained in:
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.resolve.scopes.FilteringScope;
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -67,7 +66,7 @@ public interface Importer {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private static JetScope createFilteringScope(
|
private static JetScope createFilteringScope(
|
||||||
@NotNull JetScope scope,
|
@NotNull JetScope scope,
|
||||||
@NotNull DeclarationDescriptor descriptor,
|
@NotNull PackageViewDescriptor descriptor,
|
||||||
@NotNull PlatformToKotlinClassMap platformToKotlinClassMap
|
@NotNull PlatformToKotlinClassMap platformToKotlinClassMap
|
||||||
) {
|
) {
|
||||||
final Collection<ClassDescriptor> kotlinAnalogsForClassesInside = platformToKotlinClassMap.mapPlatformClassesInside(descriptor);
|
final Collection<ClassDescriptor> kotlinAnalogsForClassesInside = platformToKotlinClassMap.mapPlatformClassesInside(descriptor);
|
||||||
@@ -86,23 +85,19 @@ public interface Importer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void importAllUnderDeclaration(@NotNull DeclarationDescriptor descriptor, @NotNull PlatformToKotlinClassMap platformToKotlinClassMap) {
|
protected void importAllUnderDeclaration(@NotNull DeclarationDescriptor descriptor, @NotNull PlatformToKotlinClassMap platformToKotlinClassMap) {
|
||||||
List<JetScope> scopesToImport = new ArrayList<JetScope>(3);
|
|
||||||
if (descriptor instanceof PackageViewDescriptor) {
|
if (descriptor instanceof PackageViewDescriptor) {
|
||||||
scopesToImport.add(new NoSubpackagesInPackageScope((PackageViewDescriptor) descriptor));
|
NoSubpackagesInPackageScope scope = new NoSubpackagesInPackageScope((PackageViewDescriptor) descriptor);
|
||||||
|
fileScope.importScope(createFilteringScope(scope, (PackageViewDescriptor) descriptor, platformToKotlinClassMap));
|
||||||
}
|
}
|
||||||
else if (descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() != ClassKind.OBJECT) {
|
else if (descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() != ClassKind.OBJECT) {
|
||||||
ClassDescriptor classDescriptor = (ClassDescriptor) descriptor;
|
ClassDescriptor classDescriptor = (ClassDescriptor) descriptor;
|
||||||
scopesToImport.add(classDescriptor.getStaticScope());
|
fileScope.importScope(classDescriptor.getStaticScope());
|
||||||
scopesToImport.add(classDescriptor.getUnsubstitutedInnerClassesScope());
|
fileScope.importScope(classDescriptor.getUnsubstitutedInnerClassesScope());
|
||||||
ClassDescriptor classObjectDescriptor = classDescriptor.getClassObjectDescriptor();
|
ClassDescriptor classObjectDescriptor = classDescriptor.getClassObjectDescriptor();
|
||||||
if (classObjectDescriptor != null) {
|
if (classObjectDescriptor != null) {
|
||||||
scopesToImport.add(classObjectDescriptor.getUnsubstitutedInnerClassesScope());
|
fileScope.importScope(classObjectDescriptor.getUnsubstitutedInnerClassesScope());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (JetScope scope : scopesToImport) {
|
|
||||||
fileScope.importScope(createFilteringScope(scope, descriptor, platformToKotlinClassMap));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void importDeclarationAlias(@NotNull DeclarationDescriptor descriptor, @NotNull Name aliasName) {
|
protected void importDeclarationAlias(@NotNull DeclarationDescriptor descriptor, @NotNull Name aliasName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user