getContainingClass() is never null for methods and fields
This commit is contained in:
+2
-9
@@ -99,8 +99,7 @@ public final class DescriptorResolverUtils {
|
||||
* corresponding package). This applies to enum entries, values() and valueOf(String) methods
|
||||
*/
|
||||
public static boolean shouldBeInEnumClassObject(@NotNull JavaMember member) {
|
||||
JavaClass javaClass = member.getContainingClass();
|
||||
if (javaClass == null || !javaClass.isEnum()) return false;
|
||||
if (!member.getContainingClass().isEnum()) return false;
|
||||
|
||||
if (member instanceof JavaField && ((JavaField) member).isEnumEntry()) return true;
|
||||
|
||||
@@ -117,13 +116,7 @@ public final class DescriptorResolverUtils {
|
||||
}
|
||||
|
||||
public static boolean isObjectMethodInInterface(@NotNull JavaMember member) {
|
||||
if (!(member instanceof JavaMethod)) {
|
||||
return false;
|
||||
}
|
||||
JavaClass containingClass = member.getContainingClass();
|
||||
assert containingClass != null : "Containing class is null for member: " + member;
|
||||
|
||||
return containingClass.isInterface() && isObjectMethod((JavaMethod) member);
|
||||
return member.getContainingClass().isInterface() && member instanceof JavaMethod && isObjectMethod((JavaMethod) member);
|
||||
}
|
||||
|
||||
public static boolean isObjectMethod(@NotNull JavaMethod method) {
|
||||
|
||||
+5
-9
@@ -153,10 +153,7 @@ class PropagationHeuristics {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
JavaClass containingClass = initialMethod.getContainingClass();
|
||||
assert containingClass != null : " containing class is null for " + initialMethod;
|
||||
|
||||
for (JavaClassifierType supertype : containingClass.getSupertypes()) {
|
||||
for (JavaClassifierType supertype : initialMethod.getContainingClass().getSupertypes()) {
|
||||
collectFromSupertype(supertype);
|
||||
}
|
||||
|
||||
@@ -234,11 +231,10 @@ class PropagationHeuristics {
|
||||
}
|
||||
|
||||
private static boolean canHaveSuperMethod(@NotNull JavaMethod method) {
|
||||
if (method.isConstructor() || method.isStatic() || method.getVisibility() == Visibilities.PRIVATE) {
|
||||
return false;
|
||||
}
|
||||
JavaClass containingClass = method.getContainingClass();
|
||||
return containingClass != null && !JavaSupertypeResolver.OBJECT_FQ_NAME.equals(containingClass.getFqName());
|
||||
return !method.isConstructor() &&
|
||||
!method.isStatic() &&
|
||||
method.getVisibility() != Visibilities.PRIVATE &&
|
||||
!JavaSupertypeResolver.OBJECT_FQ_NAME.equals(method.getContainingClass().getFqName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -222,7 +222,6 @@ public class SignaturesPropagationData {
|
||||
|
||||
for (JavaMethod superMethod : PropagationHeuristics.getSuperMethods(method)) {
|
||||
JavaClass javaClass = superMethod.getContainingClass();
|
||||
assert javaClass != null : "Super method doesn't have a containing class: " + superMethod;
|
||||
FqName classFqName = javaClass.getFqName();
|
||||
assert classFqName != null : "Class FQ name should not be null: " + javaClass;
|
||||
|
||||
|
||||
+1
-4
@@ -121,10 +121,7 @@ public final class JavaAnnotationArgumentResolver {
|
||||
JavaField field = (JavaField) element;
|
||||
if (!field.isEnumEntry()) return null;
|
||||
|
||||
JavaClass javaClass = field.getContainingClass();
|
||||
if (javaClass == null) return null;
|
||||
|
||||
FqName fqName = javaClass.getFqName();
|
||||
FqName fqName = field.getContainingClass().getFqName();
|
||||
if (fqName == null) return null;
|
||||
|
||||
ClassDescriptor enumClass = classResolver.resolveClass(fqName, INCLUDE_KOTLIN_SOURCES, taskList);
|
||||
|
||||
-1
@@ -351,7 +351,6 @@ public final class JavaClassResolver {
|
||||
@NotNull ClassDescriptorFromJvmBytecode samInterface
|
||||
) {
|
||||
JavaClass methodContainer = samInterfaceMethod.getContainingClass();
|
||||
assert methodContainer != null : "method container is null for " + samInterfaceMethod;
|
||||
FqName containerFqName = methodContainer.getFqName();
|
||||
assert containerFqName != null : "qualified name is null for " + methodContainer;
|
||||
|
||||
|
||||
-1
@@ -31,7 +31,6 @@ class JavaMethodSignatureUtil {
|
||||
// This and following methods are originally from com.intellij.codeInsight.daemon.impl.analysis.HighlightMethodUtil
|
||||
static boolean isMethodReturnTypeCompatible(@NotNull JavaMethod method) {
|
||||
if (method.isStatic()) return true;
|
||||
if (method.getContainingClass() == null) return false;
|
||||
|
||||
HierarchicalMethodSignature methodSignature = method.getPsi().getHierarchicalMethodSignature();
|
||||
List<HierarchicalMethodSignature> superSignatures = methodSignature.getSuperSignatures();
|
||||
|
||||
+1
-3
@@ -219,9 +219,7 @@ import java.util.Map;
|
||||
}
|
||||
|
||||
private boolean isInCurrentClass(@NotNull JavaMember member) {
|
||||
JavaClass containingClass = member.getContainingClass();
|
||||
if (containingClass == null) return false;
|
||||
FqName fqName = containingClass.getFqName();
|
||||
FqName fqName = member.getContainingClass().getFqName();
|
||||
return fqName != null && fqName.equals(javaClass.getFqName());
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -25,7 +25,6 @@ public interface JavaMember extends JavaModifierListOwner, JavaAnnotationOwner,
|
||||
@Override
|
||||
PsiMember getPsi();
|
||||
|
||||
// TODO: NotNull ?
|
||||
@Nullable
|
||||
@NotNull
|
||||
JavaClass getContainingClass();
|
||||
}
|
||||
|
||||
+3
-3
@@ -45,12 +45,12 @@ public abstract class JavaMemberImpl extends JavaElementImpl implements JavaMemb
|
||||
return Name.identifier(name);
|
||||
}
|
||||
|
||||
// TODO: NotNull?
|
||||
@Nullable
|
||||
@NotNull
|
||||
@Override
|
||||
public JavaClass getContainingClass() {
|
||||
PsiClass psiClass = getPsi().getContainingClass();
|
||||
return psiClass == null ? null : new JavaClass(psiClass);
|
||||
assert psiClass != null : "Member must have a containing class: " + getPsi();
|
||||
return new JavaClass(psiClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user