Eliminate usages of ResolverClassData#getClassDescriptor() in DescriptorResolverUtils#getSupertypes()
This commit is contained in:
+4
-12
@@ -24,9 +24,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.constants.StringValue;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverNamespaceData;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverScopeData;
|
||||
import org.jetbrains.jet.lang.resolve.java.kt.PsiAnnotationWithFlags;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiClassWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper;
|
||||
@@ -63,16 +60,11 @@ public final class DescriptorResolverUtils {
|
||||
return kind == ClassKind.CLASS || kind == ClassKind.TRAIT || kind == ClassKind.ENUM_CLASS;
|
||||
}
|
||||
|
||||
public static Collection<JetType> getSupertypes(@NotNull ResolverScopeData scope) {
|
||||
if (scope instanceof ResolverClassData) {
|
||||
return ((ResolverClassData) scope).getClassDescriptor().getSupertypes();
|
||||
}
|
||||
else if (scope instanceof ResolverNamespaceData) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
else {
|
||||
throw new IllegalStateException();
|
||||
public static Collection<? extends JetType> getSupertypes(@NotNull ClassOrNamespaceDescriptor classOrNamespaceDescriptor) {
|
||||
if (classOrNamespaceDescriptor instanceof ClassDescriptor) {
|
||||
return ((ClassDescriptor) classOrNamespaceDescriptor).getTypeConstructor().getSupertypes();
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public static Modality resolveModality(PsiMemberWrapper memberWrapper, boolean isFinal) {
|
||||
|
||||
+1
-1
@@ -264,7 +264,7 @@ public final class JavaFunctionResolver {
|
||||
Name methodName
|
||||
) {
|
||||
Set<SimpleFunctionDescriptor> r = Sets.newLinkedHashSet();
|
||||
for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData)) {
|
||||
for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData.getClassOrNamespaceDescriptor())) {
|
||||
for (FunctionDescriptor function : supertype.getMemberScope().getFunctions(methodName)) {
|
||||
r.add((SimpleFunctionDescriptor) function);
|
||||
}
|
||||
|
||||
+1
-1
@@ -432,7 +432,7 @@ public final class JavaPropertyResolver {
|
||||
@NotNull
|
||||
private static Set<PropertyDescriptor> getPropertiesFromSupertypes(ResolverScopeData scopeData, Name propertyName) {
|
||||
Set<PropertyDescriptor> r = new HashSet<PropertyDescriptor>();
|
||||
for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData)) {
|
||||
for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData.getClassOrNamespaceDescriptor())) {
|
||||
for (VariableDescriptor property : supertype.getMemberScope().getProperties(propertyName)) {
|
||||
r.add((PropertyDescriptor) property);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user