mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
merged CVS and Subversion versions
This commit is contained in:
@@ -39,8 +39,12 @@ class ClassAccessVisitor extends PsiRecursiveElementVisitor {
|
||||
if (currentClass.equals(calledClass)) {
|
||||
return;
|
||||
}
|
||||
if (currentClass.isInheritor(calledClass, true)) {
|
||||
PsiClass lexicallyEnclosingClass = currentClass;
|
||||
while (lexicallyEnclosingClass != null) {
|
||||
if (lexicallyEnclosingClass.isInheritor(calledClass, true)) {
|
||||
return;
|
||||
}
|
||||
lexicallyEnclosingClass = (PsiClass)PsiTreeUtil.getParentOfType(lexicallyEnclosingClass, PsiClass.class);
|
||||
}
|
||||
if (PsiTreeUtil.isAncestor(currentClass, calledClass, true)) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -19,9 +19,9 @@ public class ClassReferencesSubclassInspection extends ClassInspection {
|
||||
return GroupNames.ABSTRACTION_GROUP_NAME;
|
||||
}
|
||||
|
||||
public String buildErrorString(PsiElement classRef) {
|
||||
public String buildErrorString(PsiElement location) {
|
||||
final PsiClass containingClass =
|
||||
ClassUtils.getContainingClass(classRef);
|
||||
ClassUtils.getContainingClass(location);
|
||||
final String containingClassName = containingClass.getName();
|
||||
return "Class " + containingClassName + " references subclass #ref #loc";
|
||||
}
|
||||
|
||||
+14
-3
@@ -10,7 +10,8 @@ import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import com.siyeh.ig.psiutils.ExpectedTypeUtils;
|
||||
|
||||
public class OverlyStrongTypeCastInspection extends ExpressionInspection {
|
||||
private final OverlyStringCastFix fix = new OverlyStringCastFix();
|
||||
|
||||
private final OverlyStrongCastFix fix = new OverlyStrongCastFix();
|
||||
|
||||
public String getDisplayName() {
|
||||
return "Overly-strong type cast";
|
||||
@@ -28,7 +29,7 @@ public class OverlyStrongTypeCastInspection extends ExpressionInspection {
|
||||
return fix;
|
||||
}
|
||||
|
||||
private static class OverlyStringCastFix extends InspectionGadgetsFix {
|
||||
private static class OverlyStrongCastFix extends InspectionGadgetsFix {
|
||||
public String getName() {
|
||||
return "Weaken overly-strong cast";
|
||||
}
|
||||
@@ -79,10 +80,20 @@ public class OverlyStrongTypeCastInspection extends ExpressionInspection {
|
||||
if (expectedType.equals(type)) {
|
||||
return;
|
||||
}
|
||||
if (expectedType.getCanonicalText().equals("_Dummy_.__Array__")) {
|
||||
return;
|
||||
}
|
||||
if (expectedType.isAssignableFrom(operandType)) {
|
||||
return; //then it's redundant, and caught by the built-in exception
|
||||
}
|
||||
|
||||
if(expectedType instanceof PsiClassType)
|
||||
{
|
||||
final PsiClass aClass = ((PsiClassType) expectedType).resolve();
|
||||
if(aClass.getContext() instanceof PsiTypeParameterList)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (ClassUtils.isPrimitiveNumericType(type) ||
|
||||
ClassUtils.isPrimitiveNumericType(expectedType)) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user