diff --git a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties
index 4df0b02e1574..8948f9e10095 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties
+++ b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties
@@ -628,7 +628,7 @@ manual.array.copy.display.name=Manual array copy
manual.array.to.collection.copy.display.name=Manual array to collection copy
long.literals.ending.with.lowercase.l.display.name='long' literal ending with 'l' instead of 'L'
overly.complex.arithmetic.expression.display.name=Overly complex arithmetic expression
-j.unit.abstract.test.class.naming.convention.display.name=JUnit abstract test class naming convention
+junit.abstract.test.class.naming.convention.display.name=JUnit abstract test class naming convention
unnecessary.parentheses.display.name=Unnecessary parentheses
test.case.in.product.code.display.name=JUnit TestCase in product source
test.method.in.product.code.display.name=JUnit test method in product source
@@ -805,7 +805,7 @@ class.in.top.level.package.display.name=Class without package statement
confusing.else.display.name=Confusing 'else' branch
public.field.accessed.in.synchronized.context.display.name=Non-private field accessed in synchronized context
string.replaceable.by.string.buffer.display.name=Non-constant String should be StringBuilder
-j.unit.test.class.naming.convention.display.name=JUnit test class naming convention
+junit.test.class.naming.convention.display.name=JUnit test class naming convention
method.coupling.display.name=Overly coupled method
collections.must.have.initial.capacity.display.name=Collection without initial capacity
anonymous.inner.class.display.name=Anonymous inner class
@@ -1131,12 +1131,12 @@ instance.variable.name.convention.problem.descriptor.regex.mismatch=Instance fie
interface.name.convention.problem.descriptor.short=Interface name #ref is too short #loc
interface.name.convention.problem.descriptor.long=Interface name #ref is too long #loc
interface.name.convention.problem.descriptor.regex.mismatch=Interface name #ref doesn''t match regex ''{0}'' #loc
-j.unit.abstract.test.class.naming.convention.problem.descriptor.short=Abstract JUnit test class name #ref is too short #loc
-j.unit.abstract.test.class.naming.convention.problem.descriptor.long=Abstract JUnit test class name #ref is too long #loc
-j.unit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch=Abstract JUnit test class name #ref doesn''t match regex ''{0}'' #loc
-j.unit.test.class.naming.convention.problem.descriptor.short=JUnit test class name #ref is too short #loc
-j.unit.test.class.naming.convention.problem.descriptor.long=JUnit test class name #ref is too long #loc
-j.unit.test.class.naming.convention.problem.descriptor.regex.mismatch=JUnit test class name #ref doesn''t match regex ''{0}'' #loc
+junit.abstract.test.class.naming.convention.problem.descriptor.short=Abstract JUnit test class name #ref is too short #loc
+junit.abstract.test.class.naming.convention.problem.descriptor.long=Abstract JUnit test class name #ref is too long #loc
+junit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch=Abstract JUnit test class name #ref doesn''t match regex ''{0}'' #loc
+junit.test.class.naming.convention.problem.descriptor.short=JUnit test class name #ref is too short #loc
+junit.test.class.naming.convention.problem.descriptor.long=JUnit test class name #ref is too long #loc
+junit.test.class.naming.convention.problem.descriptor.regex.mismatch=JUnit test class name #ref doesn''t match regex ''{0}'' #loc
local.variable.naming.convention.problem.descriptor.short=Local variable name #ref is too short #loc
local.variable.naming.convention.problem.descriptor.long=Local variable name #ref is too long #loc
local.variable.naming.convention.problem.descriptor.regex.mismatch=Local variable name #ref doesn''t match regex ''{0}'' #loc
@@ -1182,7 +1182,7 @@ unnecessary.boxing.remove.quickfix=Remove boxing
unnecessary.unboxing.remove.quickfix=Remove unboxing
misordered.assert.equals.parameters.flip.quickfix=Flip compared parameters
setup.calls.super.setup.add.quickfix=Add call to 'super.setUp()'
-simplify.j.unit.assertion.simplify.quickfix=Simplify assertion
+simplify.junit.assertion.simplify.quickfix=Simplify assertion
teardown.calls.super.teardown.add.quickfix=Add call to 'super.tearDown()'
test.method.is.public.void.no.arg.problem.descriptor1=Test method #ref() should probably not have parameters #loc
test.method.is.public.void.no.arg.problem.descriptor2=Test method #ref() is not declared 'public void' #loc
@@ -1831,4 +1831,7 @@ shift.out.of.range.quickfix=Replace ''{0}'' with ''{1}''
boxing.boxed.value.display.name=Boxing of already boxed value
boxing.boxed.value.problem.descriptor=Boxing of already boxed #ref
boxing.boxed.value.quickfix=Remove unnecessary boxing
-unnecessary.javadoc.link.option=Ignore inline links to super methods
\ No newline at end of file
+unnecessary.javadoc.link.option=Ignore inline links to super methods
+constant.junit.assert.argument.display.name=Constant JUnit assert argument
+constant.junit.assert.argument.problem.descriptor=Argument #ref is constant
+test.case.with.no.test.methods.option=Ignore test cases which have super classes with test methods
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspectionVisitor.java b/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspectionVisitor.java
index 09cb9f13dea3..c365f9e72c54 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspectionVisitor.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspectionVisitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2008 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@ package com.siyeh.ig;
import com.intellij.codeInspection.ProblemsHolder;
import com.intellij.psi.*;
+import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public abstract class BaseInspectionVisitor extends JavaElementVisitor{
@@ -49,7 +50,8 @@ public abstract class BaseInspectionVisitor extends JavaElementVisitor{
}
protected final void registerMethodCallError(
- @NotNull PsiMethodCallExpression expression, Object... infos) {
+ @NotNull PsiMethodCallExpression expression,
+ @NonNls Object... infos) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
final PsiElement nameToken = methodExpression.getReferenceNameElement();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/CollectionAddedToSelfInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/CollectionAddedToSelfInspection.java
index dc5ff5783f1f..aab48ff11ff4 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/CollectionAddedToSelfInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/CollectionAddedToSelfInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,10 +16,10 @@
package com.siyeh.ig.bugs;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.EquivalenceChecker;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -91,9 +91,9 @@ public class CollectionAddedToSelfInspection extends BaseInspection {
if(qualifierClass == null){
return;
}
- if(!ClassUtils.isSubclass(qualifierClass,
+ if(!InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_UTIL_COLLECTION) &&
- !ClassUtils.isSubclass(qualifierClass,
+ !InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_UTIL_MAP)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java
index 77b68fe582cb..8b1f23cdcccb 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,12 +22,12 @@ import com.intellij.codeInspection.ui.RemoveAction;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.LibraryUtil;
-import com.siyeh.ig.ui.*;
+import com.siyeh.ig.ui.ToggleAction;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -154,7 +154,7 @@ public class IgnoreResultOfCallInspection extends BaseInspection {
continue;
}
final String className = classNames.get(i);
- if (!ClassUtils.isSubclass(aClass, className)) {
+ if (!InheritanceUtil.isInheritor(aClass, className)) {
continue;
}
registerMethodCallError(call, aClass);
@@ -198,7 +198,6 @@ public class IgnoreResultOfCallInspection extends BaseInspection {
JCheckBox nonLibraryCheckbox;
Form(){
- super();
addButton.setAction(new AddAction(table));
removeButton.setAction(new RemoveAction(table));
nonLibraryCheckbox.setAction(new ToggleAction(
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/NewStringBufferWithCharArgumentInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/NewStringBufferWithCharArgumentInspection.java
index e0934e695584..f46502d5c2b6 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/NewStringBufferWithCharArgumentInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/NewStringBufferWithCharArgumentInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007-2010 Bas Leijdekkers
+ * Copyright 2007-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,12 +18,12 @@ package com.siyeh.ig.bugs;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -120,7 +120,7 @@ public class NewStringBufferWithCharArgumentInspection extends BaseInspection {
return;
}
final PsiClass aClass = constructor.getContainingClass();
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_ABSTRACT_STRING_BUILDER)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/StringConcatenationInMessageFormatCallInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/StringConcatenationInMessageFormatCallInspection.java
index f30e49d16092..0d6a94accf16 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/StringConcatenationInMessageFormatCallInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/StringConcatenationInMessageFormatCallInspection.java
@@ -18,13 +18,13 @@ package com.siyeh.ig.bugs;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.ExpressionUtils;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls;
@@ -224,7 +224,8 @@ public class StringConcatenationInMessageFormatCallInspection
return false;
}
final PsiClass aClass = (PsiClass) target;
- return ClassUtils.isSubclass(aClass, "java.text.MessageFormat");
+ return InheritanceUtil.isInheritor(aClass,
+ "java.text.MessageFormat");
}
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SuspiciousToArrayCallInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SuspiciousToArrayCallInspection.java
index 8410adc1703a..bc97a8b76689 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SuspiciousToArrayCallInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SuspiciousToArrayCallInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2010 Bas Leijdekkers
+ * Copyright 2005-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,10 +16,10 @@
package com.siyeh.ig.bugs;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -76,7 +76,7 @@ public class SuspiciousToArrayCallInspection extends BaseInspection {
final PsiClassType classType = (PsiClassType)type;
final PsiClass aClass = classType.resolve();
if (aClass == null ||
- !ClassUtils.isSubclass(aClass,
+ !InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_UTIL_COLLECTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java
index fc98f3ed36f7..3c83d5286c68 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2008 Bas Leijdekkers
+ * Copyright 2008-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,24 +17,26 @@ package com.siyeh.ig.bugs;
import com.intellij.psi.*;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.Query;
+import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.psiutils.TypeUtils;
-import com.siyeh.ig.psiutils.ClassUtils;
-import com.siyeh.InspectionGadgetsBundle;
import org.jetbrains.annotations.NotNull;
public class ThrowableResultOfMethodCallIgnoredInspection
extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"throwable.result.of.method.call.ignored.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
@@ -46,6 +48,7 @@ public class ThrowableResultOfMethodCallIgnoredInspection
return true;
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new ThrowableResultOfMethodCallIgnoredVisitor();
}
@@ -75,7 +78,7 @@ public class ThrowableResultOfMethodCallIgnoredInspection
}
if (!method.hasModifierProperty(PsiModifier.STATIC)) {
final PsiClass containingClass = method.getContainingClass();
- if (ClassUtils.isSubclass(containingClass,
+ if (InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_LANG_THROWABLE)) {
return;
}
@@ -117,11 +120,9 @@ public class ThrowableResultOfMethodCallIgnoredInspection
while (usageParent instanceof PsiParenthesizedExpression) {
usageParent = usageParent.getParent();
}
- if (usageParent instanceof PsiThrowStatement) {
- return;
- } else if (usageParent instanceof PsiReturnStatement) {
- return;
- } else if (usageParent instanceof PsiExpressionList) {
+ if (usageParent instanceof PsiThrowStatement ||
+ usageParent instanceof PsiReturnStatement ||
+ usageParent instanceof PsiExpressionList) {
return;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/UseOfPropertiesAsHashtableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/UseOfPropertiesAsHashtableInspection.java
index 37dc74eb8c17..f9db480acbd3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/UseOfPropertiesAsHashtableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/UseOfPropertiesAsHashtableInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,11 +16,11 @@
package com.siyeh.ig.bugs;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.HardcodedMethodConstants;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import org.jetbrains.annotations.NotNull;
@@ -65,7 +65,8 @@ public class UseOfPropertiesAsHashtableInspection extends BaseInspection {
if(containingClass == null){
return;
}
- if(!ClassUtils.isSubclass(containingClass, "java.util.Hashtable")){
+ if(!InheritanceUtil.isInheritor(containingClass,
+ "java.util.Hashtable")){
return;
}
final PsiExpression qualifier =
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/MissingOverrideAnnotationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/MissingOverrideAnnotationInspection.java
index 449827a75c3f..190adb30e6bd 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/MissingOverrideAnnotationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/MissingOverrideAnnotationInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2011 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -218,8 +218,8 @@ public class MissingOverrideAnnotationInspection extends BaseInspection {
final List toExclude = new SmartList();
for (PsiMethod superMethod : superMethods) {
final PsiClass superClass = superMethod.getContainingClass();
- if (!InheritanceUtil.isCorrectDescendant(methodClass,
- superClass, true)) {
+ if (!InheritanceUtil.isInheritorOrSelf(methodClass, superClass,
+ true)) {
toExclude.add(superMethod);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/ForLoopWithMissingComponentInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/ForLoopWithMissingComponentInspection.java
index 0c5997151f1d..1651cb9eeffe 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/ForLoopWithMissingComponentInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/ForLoopWithMissingComponentInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,13 +15,13 @@
*/
package com.siyeh.ig.controlflow;
+import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.HardcodedMethodConstants;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
-import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -144,7 +144,7 @@ public class ForLoopWithMissingComponentInspection extends BaseInspection {
if(declaredClass == null){
continue;
}
- if(!ClassUtils.isSubclass(declaredClass,
+ if(!InheritanceUtil.isInheritor(declaredClass,
CommonClassNames.JAVA_UTIL_ITERATOR)){
continue;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/CheckedExceptionClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/CheckedExceptionClassInspection.java
index 7cd6b3e43d57..669577fcb923 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/CheckedExceptionClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/CheckedExceptionClassInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.errorhandling;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class CheckedExceptionClassInspection extends BaseInspection {
@@ -47,11 +47,11 @@ public class CheckedExceptionClassInspection extends BaseInspection {
private static class CheckedExceptionClassVisitor
extends BaseInspectionVisitor {
@Override public void visitClass(@NotNull PsiClass aClass) {
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_THROWABLE)) {
return;
}
- if (ClassUtils.isSubclass(aClass,
+ if (InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_RUNTIME_EXCEPTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/ErrorRethrownInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/ErrorRethrownInspection.java
index 79377f6cb729..57c58eccd991 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/ErrorRethrownInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/ErrorRethrownInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,11 +16,11 @@
package com.siyeh.ig.errorhandling;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import org.jetbrains.annotations.NotNull;
@@ -73,7 +73,7 @@ public class ErrorRethrownInspection extends BaseInspection {
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_ERROR)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/NonFinalFieldOfExceptionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/NonFinalFieldOfExceptionInspection.java
index 3cbe78119b15..cf5598164f7d 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/NonFinalFieldOfExceptionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/NonFinalFieldOfExceptionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,12 +19,12 @@ import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiField;
import com.intellij.psi.PsiModifier;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.MakeFieldFinalFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -69,7 +69,7 @@ public class NonFinalFieldOfExceptionInspection extends BaseInspection {
if (containingClass == null) {
return;
}
- if (!ClassUtils.isSubclass(containingClass,
+ if (!InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_LANG_EXCEPTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/UncheckedExceptionClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/UncheckedExceptionClassInspection.java
index b6469ffe0b1b..07e1de3eb35c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/UncheckedExceptionClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/UncheckedExceptionClassInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.errorhandling;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class UncheckedExceptionClassInspection extends BaseInspection {
@@ -48,13 +48,13 @@ public class UncheckedExceptionClassInspection extends BaseInspection {
extends BaseInspectionVisitor {
@Override public void visitClass(@NotNull PsiClass aClass) {
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_THROWABLE)) {
return;
}
- if (ClassUtils.isSubclass(aClass,
+ if (InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_EXCEPTION) &&
- !ClassUtils.isSubclass(aClass,
+ !InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_RUNTIME_EXCEPTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ExtractParameterAsLocalVariableFix.java b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ExtractParameterAsLocalVariableFix.java
index d0b8b8623e65..91989e14ac8c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ExtractParameterAsLocalVariableFix.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ExtractParameterAsLocalVariableFix.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2009 Bas Leijdekkers
+ * Copyright 2008-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,11 +18,11 @@ package com.siyeh.ig.fixes;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.tree.IElementType;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.search.SearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.tree.IElementType;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.Query;
import com.siyeh.InspectionGadgetsBundle;
@@ -74,9 +74,8 @@ public class ExtractParameterAsLocalVariableFix
if (body == null) {
return;
}
- final PsiManager manager = PsiManager.getInstance(project);
final CodeStyleManager codeStyleManager =
- manager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
final String parameterName = parameterReference.getText();
final JavaCodeStyleManager javaCodeStyleManager =
JavaCodeStyleManager.getInstance(project);
@@ -192,7 +191,7 @@ public class ExtractParameterAsLocalVariableFix
(PsiAssignmentExpression)parent;
final IElementType tokenType =
assignmentExpression.getOperationTokenType();
- if (tokenType != JavaTokenType.EQ) {
+ if (!JavaTokenType.EQ.equals(tokenType)) {
return false;
}
final PsiExpression lExpression =
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/initialization/OverriddenMethodCallDuringObjectConstructionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/initialization/OverriddenMethodCallDuringObjectConstructionInspection.java
index 453cd1143070..4cf19a897d62 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/initialization/OverriddenMethodCallDuringObjectConstructionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/initialization/OverriddenMethodCallDuringObjectConstructionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -29,18 +29,21 @@ import org.jetbrains.annotations.NotNull;
public class OverriddenMethodCallDuringObjectConstructionInspection
extends BaseInspection{
+ @Override
@NotNull
public String getDisplayName(){
return InspectionGadgetsBundle.message(
"overridden.method.call.in.constructor.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos){
return InspectionGadgetsBundle.message(
"overridden.method.call.in.constructor.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor(){
return new OverriddenMethodCallInConstructorVisitor();
}
@@ -90,7 +93,7 @@ public class OverriddenMethodCallDuringObjectConstructionInspection
}
final PsiClass calledMethodClass =
calledMethod.getContainingClass();
- if(!InheritanceUtil.isCorrectDescendant(containingClass,
+ if(!InheritanceUtil.isInheritorOrSelf(containingClass,
calledMethodClass, true)){
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/javabeans/ClassWithoutConstructorInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/javabeans/ClassWithoutConstructorInspection.java
index fbd9866a28e4..2abb541aecdb 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/javabeans/ClassWithoutConstructorInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/javabeans/ClassWithoutConstructorInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,18 +28,21 @@ import org.jetbrains.annotations.NotNull;
public class ClassWithoutConstructorInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"class.without.constructor.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"class.without.constructor.problem.descriptor");
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new ClassWithoutConstructorFix();
}
@@ -53,12 +56,13 @@ public class ClassWithoutConstructorInspection extends BaseInspection {
"class.without.constructor.create.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement classIdentifier = descriptor.getPsiElement();
final PsiClass aClass = (PsiClass)classIdentifier.getParent();
- final PsiManager psiManager = PsiManager.getInstance(project);
- final PsiElementFactory factory = JavaPsiFacade.getInstance(psiManager.getProject()).getElementFactory();
+ final PsiElementFactory factory =
+ JavaPsiFacade.getElementFactory(project);
final PsiMethod constructor = factory.createConstructor();
final PsiModifierList modifierList = constructor.getModifierList();
if (aClass == null) {
@@ -78,11 +82,12 @@ public class ClassWithoutConstructorInspection extends BaseInspection {
}
aClass.add(constructor);
final CodeStyleManager styleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
styleManager.reformat(constructor);
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new ClassWithoutConstructorVisitor();
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumerationCanBeIterationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumerationCanBeIterationInspection.java
index 19a715a24013..057ce0509bf3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumerationCanBeIterationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumerationCanBeIterationInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Bas Leijdekkers
+ * Copyright 2007-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@ import com.intellij.psi.*;
import com.intellij.psi.codeStyle.*;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.Query;
@@ -28,7 +29,6 @@ import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.PsiElementOrderComparator;
import com.siyeh.ig.psiutils.TypeUtils;
import org.jetbrains.annotations.NonNls;
@@ -179,8 +179,7 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
PsiMethodCallExpression methodCallExpression,
String variableName, PsiType parameterType)
throws IncorrectOperationException {
- final StringBuilder newStatementText =
- new StringBuilder();
+ @NonNls final StringBuilder newStatementText = new StringBuilder();
final Project project = methodCallExpression.getProject();
final CodeStyleSettings codeStyleSettings =
CodeStyleSettingsManager.getSettings(project);
@@ -231,12 +230,13 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
return null;
}
newStatementText.append(';');
- final PsiManager manager = methodCallExpression.getManager();
- final PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory();
+ final PsiElementFactory factory =
+ JavaPsiFacade.getElementFactory(project);
final PsiStatement statement =
factory.createStatementFromText(newStatementText.toString(),
methodExpression);
- final JavaCodeStyleManager styleManager = JavaCodeStyleManager.getInstance(project);
+ final JavaCodeStyleManager styleManager =
+ JavaCodeStyleManager.getInstance(project);
styleManager.shortenClassReferences(statement);
return statement;
}
@@ -293,9 +293,9 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
(PsiMethodCallExpression) referenceGrandParent;
final PsiReferenceExpression foundReferenceExpression =
callExpression.getMethodExpression();
- final String foundName =
+ @NonNls final String foundName =
foundReferenceExpression.getReferenceName();
- final String newExpressionText;
+ @NonNls final String newExpressionText;
if ("hasMoreElements".equals(foundName)) {
newExpressionText = newVariableName + ".hasNext()";
} else if ("nextElement".equals(foundName)) {
@@ -312,6 +312,7 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
return result;
}
+ @NonNls
private static String createVariableName(PsiElement context) {
final Project project = context.getProject();
final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
@@ -339,6 +340,7 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new EnumerationCanBeIterationVisitor();
}
@@ -400,10 +402,10 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
return;
}
final PsiClass containingClass = method.getContainingClass();
- if (ClassUtils.isSubclass(containingClass,
+ if (InheritanceUtil.isInheritor(containingClass,
"java.util.Vector")) {
registerMethodCallError(expression, ITERATOR_TEXT);
- } else if (ClassUtils.isSubclass(containingClass,
+ } else if (InheritanceUtil.isInheritor(containingClass,
"java.util.Hashtable")) {
registerMethodCallError(expression, VALUES_ITERATOR_TEXT);
}
@@ -413,7 +415,7 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
return;
}
final PsiClass containingClass = method.getContainingClass();
- if (ClassUtils.isSubclass(containingClass,
+ if (InheritanceUtil.isInheritor(containingClass,
"java.util.Hashtable")) {
registerMethodCallError(expression, KEY_SET_ITERATOR_TEXT);
}
@@ -446,7 +448,8 @@ public class EnumerationCanBeIterationInspection extends BaseInspection {
super.visitMethodCallExpression(expression);
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName =
+ methodExpression.getReferenceName();
if (!"hasMoreElements".equals(methodName) &&
!"nextElement".equals(methodName)) {
return;
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/VarargParameterInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/VarargParameterInspection.java
index 4ce271fd5929..1bde06bdb43c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/VarargParameterInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/VarargParameterInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,23 +35,27 @@ import java.util.Collection;
public class VarargParameterInspection extends BaseInspection {
+ @Override
@NotNull
public String getID(){
return "VariableArgumentMethod";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"variable.argument.method.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"variable.argument.method.problem.descriptor");
}
+ @Override
@Nullable
protected InspectionGadgetsFix buildFix(Object... infos) {
return new VarargParameterFix();
@@ -65,6 +69,7 @@ public class VarargParameterInspection extends BaseInspection {
"variable.argument.method.quickfix");
}
+ @Override
protected void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement element = descriptor.getPsiElement();
@@ -121,8 +126,9 @@ public class VarargParameterInspection extends BaseInspection {
}
}
builder.append('}');
- final PsiManager manager = referenceExpression.getManager();
- final PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory();
+ final Project project = referenceExpression.getProject();
+ final PsiElementFactory factory =
+ JavaPsiFacade.getElementFactory(project);
final PsiExpression arrayExpression =
factory.createExpressionFromText(builder.toString(),
referenceExpression);
@@ -136,12 +142,15 @@ public class VarargParameterInspection extends BaseInspection {
argumentList.add(arrayExpression);
}
final CodeStyleManager codeStyleManager =
- manager.getCodeStyleManager();
- JavaCodeStyleManager.getInstance(manager.getProject()).shortenClassReferences(argumentList);
+ CodeStyleManager.getInstance(project);
+ final JavaCodeStyleManager javaCodeStyleManager =
+ JavaCodeStyleManager.getInstance(project);
+ javaCodeStyleManager.shortenClassReferences(argumentList);
codeStyleManager.reformat(argumentList);
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new VarargParameterVisitor();
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/ForCanBeForeachInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/ForCanBeForeachInspection.java
index 4add13d05f19..f8f3b37f7a87 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/ForCanBeForeachInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/ForCanBeForeachInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1066,7 +1066,7 @@ public class ForCanBeForeachInspection extends BaseInspection{
if(declaredClass == null){
return false;
}
- if(!ClassUtils.isSubclass(declaredClass,
+ if(!InheritanceUtil.isInheritor(declaredClass,
CommonClassNames.JAVA_UTIL_ITERATOR)){
return false;
}
@@ -1107,9 +1107,9 @@ public class ForCanBeForeachInspection extends BaseInspection{
if(qualifierClass == null){
return false;
}
- if(!ClassUtils.isSubclass(qualifierClass,
+ if(!InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_LANG_ITERABLE) &&
- !ClassUtils.isSubclass(qualifierClass,
+ !InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_UTIL_COLLECTION)){
return false;
}
@@ -1288,7 +1288,8 @@ public class ForCanBeForeachInspection extends BaseInspection{
return false;
}
final PsiClass aClass = method.getContainingClass();
- return ClassUtils.isSubclass(aClass, CommonClassNames.JAVA_UTIL_LIST);
+ return InheritanceUtil.isInheritor(aClass,
+ CommonClassNames.JAVA_UTIL_LIST);
}
private static Holder getCollectionFromListMethodCall(
@@ -1319,7 +1320,7 @@ public class ForCanBeForeachInspection extends BaseInspection{
return null;
}
final PsiClass containingClass = method.getContainingClass();
- if (!ClassUtils.isSubclass(containingClass,
+ if (!InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_UTIL_LIST)) {
return null;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/WhileCanBeForeachInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/WhileCanBeForeachInspection.java
index de4d5b3e6670..3472dff50aba 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/WhileCanBeForeachInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/WhileCanBeForeachInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@ import com.intellij.psi.*;
import com.intellij.psi.codeStyle.*;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.TypeConversionUtil;
@@ -31,7 +32,6 @@ import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.StringUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import com.siyeh.ig.psiutils.VariableAccessUtils;
@@ -467,9 +467,9 @@ public class WhileCanBeForeachInspection extends BaseInspection {
if (qualifierClass == null) {
return false;
}
- if (!ClassUtils.isSubclass(qualifierClass,
+ if (!InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_LANG_ITERABLE) &&
- !ClassUtils.isSubclass(qualifierClass,
+ !InheritanceUtil.isInheritor(qualifierClass,
CommonClassNames.JAVA_UTIL_COLLECTION)) {
return false;
}
@@ -586,7 +586,6 @@ public class WhileCanBeForeachInspection extends BaseInspection {
private final PsiVariable iterator;
private NumCallsToIteratorNextVisitor(PsiVariable iterator) {
- super();
this.iterator = iterator;
}
@@ -626,7 +625,6 @@ public class WhileCanBeForeachInspection extends BaseInspection {
private final PsiVariable iterator;
private IteratorRemoveVisitor(@NotNull PsiVariable iterator) {
- super();
this.iterator = iterator;
}
@@ -670,7 +668,6 @@ public class WhileCanBeForeachInspection extends BaseInspection {
private final PsiVariable iterator;
private IteratorHasNextVisitor(PsiVariable iterator) {
- super();
this.iterator = iterator;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertEqualsBetweenInconvertibleTypesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertEqualsBetweenInconvertibleTypesInspection.java
index 808e63ceceb5..bab32cc29680 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertEqualsBetweenInconvertibleTypesInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertEqualsBetweenInconvertibleTypesInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007-2010 Bas Leijdekkers
+ * Copyright 2007-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,14 +15,14 @@
*/
package com.siyeh.ig.junit;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.TypeConversionUtil;
-import com.intellij.openapi.util.text.StringUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -77,8 +77,10 @@ public class AssertEqualsBetweenInconvertibleTypesInspection
return;
}
final PsiClass containingClass = method.getContainingClass();
- if (!ClassUtils.isSubclass(containingClass, "junit.framework.Assert") &&
- !ClassUtils.isSubclass(containingClass, "org.junit.Assert")) {
+ if (!InheritanceUtil.isInheritor(containingClass,
+ "junit.framework.Assert") &&
+ !InheritanceUtil.isInheritor(containingClass,
+ "org.junit.Assert")) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertsWithoutMessagesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertsWithoutMessagesInspection.java
index 2249f0dede0e..1e2398cd9170 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertsWithoutMessagesInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/AssertsWithoutMessagesInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,10 +18,10 @@ package com.siyeh.ig.junit;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -30,23 +30,27 @@ import java.util.Set;
public class AssertsWithoutMessagesInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"asserts.without.messages.display.name");
}
+ @Override
@NotNull
public String getID() {
return "MessageMissingOnJUnitAssertion";
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"asserts.without.messages.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new AssertionsWithoutMessagesVisitor();
}
@@ -123,9 +127,10 @@ public class AssertsWithoutMessagesInspection extends BaseInspection {
return false;
}
final PsiClass targetClass = method.getContainingClass();
- return targetClass != null &&
- (ClassUtils.isSubclass(targetClass, "junit.framework.Assert") ||
- ClassUtils.isSubclass(targetClass, "org.junit.Assert"));
+ return InheritanceUtil.isInheritor(targetClass,
+ "junit.framework.Assert") ||
+ InheritanceUtil.isInheritor(targetClass,
+ "org.junit.Assert");
}
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ConstantJUnitAssertArgumentInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ConstantJUnitAssertArgumentInspection.java
index 9d48846b082a..19eb4d8e936e 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ConstantJUnitAssertArgumentInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ConstantJUnitAssertArgumentInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Bas Leijdekkers
+ * Copyright 2009-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,20 +15,22 @@
*/
package com.siyeh.ig.junit;
+import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
-import com.intellij.psi.*;
-import com.intellij.psi.util.PsiUtil;
import org.jetbrains.annotations.Nls;
-import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
-import java.util.Set;
import java.util.HashSet;
+import java.util.Set;
public class ConstantJUnitAssertArgumentInspection extends BaseInspection {
+ @NonNls
private static final Set ASSERT_METHODS = new HashSet();
static {
@@ -42,21 +44,23 @@ public class ConstantJUnitAssertArgumentInspection extends BaseInspection {
@Nls
@NotNull
public String getDisplayName() {
- return "Constant JUnit assert argument";
+ return InspectionGadgetsBundle.message(
+ "constant.junit.assert.argument.display.name");
}
@Override
@NotNull
protected String buildErrorString(Object... infos) {
- return "Argument #ref is constant";
+ return InspectionGadgetsBundle.message(
+ "constant.junit.assert.argument.problem.descriptor");
}
@Override
public BaseInspectionVisitor buildVisitor() {
- return new ConstantJUnitAssertArugmentVisitor();
+ return new ConstantJUnitAssertArgumentVisitor();
}
- private static class ConstantJUnitAssertArugmentVisitor
+ private static class ConstantJUnitAssertArgumentVisitor
extends BaseInspectionVisitor {
@Override
@@ -74,8 +78,10 @@ public class ConstantJUnitAssertArgumentInspection extends BaseInspection {
return;
}
final PsiClass containingClass = method.getContainingClass();
- if (!ClassUtils.isSubclass(containingClass, "junit.framework.Assert") &&
- !ClassUtils.isSubclass(containingClass, "org.junit.Assert")) {
+ if (!InheritanceUtil.isInheritor(containingClass,
+ "junit.framework.Assert") &&
+ !InheritanceUtil.isInheritor(containingClass,
+ "org.junit.Assert")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ExpectedExceptionNeverThrownInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ExpectedExceptionNeverThrownInspection.java
index 9e4a87d1a1c6..fc370c35a49e 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ExpectedExceptionNeverThrownInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/ExpectedExceptionNeverThrownInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2010 Bas Leijdekkers
+ * Copyright 2010-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.junit;
import com.intellij.codeInsight.AnnotationUtil;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.ExceptionUtils;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
@@ -89,7 +89,7 @@ public class ExpectedExceptionNeverThrownInspection
}
final PsiClassType classType = (PsiClassType) type;
final PsiClass aClass = classType.resolve();
- if (ClassUtils.isSubclass(aClass,
+ if (InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_RUNTIME_EXCEPTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspection.java
index 0837e6773b75..502b44a68634 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,12 +18,12 @@ package com.siyeh.ig.junit;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiModifier;
import com.intellij.psi.PsiTypeParameter;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
import com.siyeh.ig.naming.ConventionInspection;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class JUnitAbstractTestClassNamingConventionInspection
@@ -32,47 +32,55 @@ public class JUnitAbstractTestClassNamingConventionInspection
private static final int DEFAULT_MIN_LENGTH = 12;
private static final int DEFAULT_MAX_LENGTH = 64;
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
- "j.unit.abstract.test.class.naming.convention.display.name");
+ "junit.abstract.test.class.naming.convention.display.name");
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new RenameFix();
}
+ @Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
final String className = (String)infos[0];
if (className.length() < getMinLength()) {
return InspectionGadgetsBundle.message(
- "j.unit.abstract.test.class.naming.convention.problem.descriptor.short");
+ "junit.abstract.test.class.naming.convention.problem.descriptor.short");
} else if (className.length() > getMaxLength()) {
return InspectionGadgetsBundle.message(
- "j.unit.abstract.test.class.naming.convention.problem.descriptor.long");
+ "junit.abstract.test.class.naming.convention.problem.descriptor.long");
}
return InspectionGadgetsBundle.message(
- "j.unit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch",
+ "junit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch",
getRegex());
}
+ @Override
protected String getDefaultRegex() {
return "[A-Z][A-Za-z\\d]*TestCase";
}
+ @Override
protected int getDefaultMinLength() {
return DEFAULT_MIN_LENGTH;
}
+ @Override
protected int getDefaultMaxLength() {
return DEFAULT_MAX_LENGTH;
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new NamingConventionsVisitor();
}
@@ -90,7 +98,8 @@ public class JUnitAbstractTestClassNamingConventionInspection
if(!aClass.hasModifierProperty(PsiModifier.ABSTRACT)) {
return;
}
- if(!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if(!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
final String name = aClass.getName();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspection.java
index fc84b0dc47ae..31131daaef03 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,12 +19,12 @@ import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiModifier;
import com.intellij.psi.PsiTypeParameter;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
import com.siyeh.ig.naming.ConventionInspection;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TestUtils;
import org.jetbrains.annotations.NotNull;
@@ -38,7 +38,7 @@ public class JUnitTestClassNamingConventionInspection
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
- "j.unit.test.class.naming.convention.display.name");
+ "junit.test.class.naming.convention.display.name");
}
@Override
@@ -57,13 +57,13 @@ public class JUnitTestClassNamingConventionInspection
final String className = (String)infos[0];
if (className.length() < getMinLength()) {
return InspectionGadgetsBundle.message(
- "j.unit.test.class.naming.convention.problem.descriptor.short");
+ "junit.test.class.naming.convention.problem.descriptor.short");
} else if (className.length() > getMaxLength()) {
return InspectionGadgetsBundle.message(
- "j.unit.test.class.naming.convention.problem.descriptor.long");
+ "junit.test.class.naming.convention.problem.descriptor.long");
}
return InspectionGadgetsBundle.message(
- "j.unit.test.class.naming.convention.problem.descriptor.regex.mismatch",
+ "junit.test.class.naming.convention.problem.descriptor.regex.mismatch",
getRegex());
}
@@ -100,7 +100,8 @@ public class JUnitTestClassNamingConventionInspection
if(aClass.hasModifierProperty(PsiModifier.ABSTRACT)) {
return;
}
- if(!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if(!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
if (!hasJUnit4TestMethods(aClass)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspection.java
index 3cdc336c67c0..34efb304e567 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,30 +19,33 @@ import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class MisorderedAssertEqualsParametersInspection
extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"misordered.assert.equals.parameters.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"misordered.assert.equals.parameters.problem.descriptor");
}
+ @Override
public InspectionGadgetsFix buildFix(Object... infos) {
return new FlipParametersFix();
}
@@ -55,6 +58,7 @@ public class MisorderedAssertEqualsParametersInspection
"misordered.assert.equals.parameters.flip.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement methodNameIdentifier = descriptor.getPsiElement();
@@ -95,6 +99,7 @@ public class MisorderedAssertEqualsParametersInspection
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new MisorderedAssertEqualsParametersVisitor();
}
@@ -167,8 +172,8 @@ public class MisorderedAssertEqualsParametersInspection
return false;
}
final PsiField field = (PsiField) target;
- return !(!field.hasModifierProperty(PsiModifier.STATIC) ||
- !field.hasModifierProperty(PsiModifier.FINAL));
+ return field.hasModifierProperty(PsiModifier.STATIC) &&
+ field.hasModifierProperty(PsiModifier.FINAL);
}
private static boolean isAssertEquals(
@@ -185,11 +190,10 @@ public class MisorderedAssertEqualsParametersInspection
return false;
}
final PsiClass targetClass = method.getContainingClass();
- if (targetClass == null) {
- return false;
- }
- return ClassUtils.isSubclass(targetClass, "junit.framework.Assert")
- || ClassUtils.isSubclass(targetClass, "org.junit.Assert");
+ return InheritanceUtil.isInheritor(targetClass,
+ "junit.framework.Assert") ||
+ InheritanceUtil.isInheritor(targetClass,
+ "org.junit.Assert");
}
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledSetUpInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledSetUpInspection.java
index d49baa10a2ae..9383be30dff0 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledSetUpInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledSetUpInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,37 +17,42 @@ package com.siyeh.ig.junit;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class MisspelledSetUpInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"misspelled.set.up.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"misspelled.set.up.problem.descriptor");
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new RenameFix("setUp");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new MisspelledSetUpVisitor();
}
+ @Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}
@@ -64,7 +69,8 @@ public class MisspelledSetUpInspection extends BaseInspection {
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
registerMethodError(method);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledTearDownInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledTearDownInspection.java
index 9e8b5da63f9e..97a556b12d60 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledTearDownInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/MisspelledTearDownInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,37 +17,42 @@ package com.siyeh.ig.junit;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class MisspelledTearDownInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"misspelled.tear.down.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"misspelled.tear.down.problem.descriptor");
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new RenameFix("tearDown");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new MisspelledSetUpVisitor();
}
+ @Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}
@@ -64,7 +69,8 @@ public class MisspelledTearDownInspection extends BaseInspection {
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
registerMethodError(method);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupCallsSuperSetupInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupCallsSuperSetupInspection.java
index 6fdcf5f74067..5bdbb661369c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupCallsSuperSetupInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupCallsSuperSetupInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,28 +19,31 @@ import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class SetupCallsSuperSetupInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "SetUpDoesntCallSuperSetUp";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"setup.calls.super.setup.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
@@ -55,6 +58,7 @@ public class SetupCallsSuperSetupInspection extends BaseInspection {
"setup.calls.super.setup.add.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement methodName = descriptor.getPsiElement();
@@ -64,22 +68,24 @@ public class SetupCallsSuperSetupInspection extends BaseInspection {
if (body == null) {
return;
}
- final PsiManager psiManager = PsiManager.getInstance(project);
- final PsiElementFactory factory = JavaPsiFacade.getInstance(psiManager.getProject()).getElementFactory();
+ final PsiElementFactory factory =
+ JavaPsiFacade.getElementFactory(project);
final PsiStatement newStatement =
factory.createStatementFromText("super.setUp();", null);
final CodeStyleManager styleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
final PsiJavaToken brace = body.getLBrace();
body.addAfter(newStatement, brace);
styleManager.reformat(body);
}
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new AddSuperSetUpCall();
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new SetupCallsSuperSetupVisitor();
}
@@ -107,7 +113,7 @@ public class SetupCallsSuperSetupInspection extends BaseInspection {
if (targetClass == null) {
return;
}
- if (!ClassUtils.isSubclass(targetClass,
+ if (!InheritanceUtil.isInheritor(targetClass,
"junit.framework.TestCase")) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupIsPublicVoidNoArgInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupIsPublicVoidNoArgInspection.java
index fffe3808727d..9526e3cb5d59 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupIsPublicVoidNoArgInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SetupIsPublicVoidNoArgInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,32 +16,36 @@
package com.siyeh.ig.junit;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class SetupIsPublicVoidNoArgInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "SetUpWithIncorrectSignature";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"setup.is.public.void.no.arg.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"setup.is.public.void.no.arg.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new SetupIsPublicVoidNoArgVisitor();
}
@@ -63,16 +67,14 @@ public class SetupIsPublicVoidNoArgInspection extends BaseInspection {
if (targetClass == null) {
return;
}
- if (!ClassUtils.isSubclass(targetClass,
+ if (!InheritanceUtil.isInheritor(targetClass,
"junit.framework.TestCase")) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
- if (parameterList.getParametersCount() != 0) {
- registerMethodError(method);
- } else if (!returnType.equals(PsiType.VOID)) {
- registerMethodError(method);
- } else if (!method.hasModifierProperty(PsiModifier.PUBLIC) &&
+ if (parameterList.getParametersCount() != 0 ||
+ !returnType.equals(PsiType.VOID) ||
+ !method.hasModifierProperty(PsiModifier.PUBLIC) &&
!method.hasModifierProperty(PsiModifier.PROTECTED)) {
registerMethodError(method);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SimplifiableJUnitAssertionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SimplifiableJUnitAssertionInspection.java
index 71ce06fe07a8..1feb199cc7d7 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SimplifiableJUnitAssertionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/SimplifiableJUnitAssertionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,7 +54,7 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
@NotNull
public String getName() {
return InspectionGadgetsBundle.message(
- "simplify.j.unit.assertion.simplify.quickfix");
+ "simplify.junit.assertion.simplify.quickfix");
}
@Override
@@ -163,7 +163,8 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
return;
}
@NonNls final StringBuilder newExpression = new StringBuilder();
- addStaticImportIfPossible(callExpression, "assertEquals", newExpression);
+ addStaticImportIfPossible(callExpression, "assertEquals",
+ newExpression);
newExpression.append("assertEquals(");
if (message != null) {
newExpression.append(message.getText());
@@ -222,9 +223,11 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
@NonNls final StringBuilder newExpression = new StringBuilder();
final PsiReferenceExpression methodExpression =
callExpression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
- final String memberName;
- if ("assertFalse".equals(methodName) ^ tokenType.equals(JavaTokenType.NE)) {
+ @NonNls final String methodName =
+ methodExpression.getReferenceName();
+ @NonNls final String memberName;
+ if ("assertFalse".equals(methodName) ^
+ tokenType.equals(JavaTokenType.NE)) {
memberName = "assertNotNull";
} else {
memberName = "assertNull";
@@ -286,8 +289,9 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
@NonNls final StringBuilder newExpression = new StringBuilder();
final PsiReferenceExpression methodExpression =
callExpression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
- final String memberName;
+ @NonNls final String methodName =
+ methodExpression.getReferenceName();
+ @NonNls final String memberName;
if ("assertFalse".equals(methodName) ^
tokenType.equals(JavaTokenType.NE)) {
memberName = "assertNotSame";
@@ -338,8 +342,10 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
secondTestPosition = 1;
message = null;
}
- final PsiExpression firstTestArgument = arguments[firstTestPosition];
- final PsiExpression secondTestArgument = arguments[secondTestPosition];
+ final PsiExpression firstTestArgument =
+ arguments[firstTestPosition];
+ final PsiExpression secondTestArgument =
+ arguments[secondTestPosition];
final String literalValue;
final String compareValue;
if (isSimpleLiteral(firstTestArgument, secondTestArgument)) {
@@ -353,7 +359,7 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
Character.toUpperCase(literalValue.charAt(0)) +
literalValue.substring(1);
@NonNls final StringBuilder newExpression = new StringBuilder();
- final String methodName = "assert" + uppercaseLiteralValue;
+ @NonNls final String methodName = "assert" + uppercaseLiteralValue;
addStaticImportIfPossible(callExpression, methodName, newExpression);
newExpression.append(methodName);
newExpression.append('(');
@@ -367,8 +373,9 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
newExpression.toString());
}
- private static void addStaticImportIfPossible(PsiMethodCallExpression context,
- String memberName, StringBuilder out) {
+ private static void addStaticImportIfPossible(
+ PsiMethodCallExpression context, @NonNls String memberName,
+ @NonNls StringBuilder out) {
final PsiMethod containingMethod = PsiTreeUtil.getParentOfType(
context, PsiMethod.class);
if (TestUtils.isJUnit4TestMethod(containingMethod)) {
@@ -470,7 +477,7 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
(PsiBinaryExpression) argument;
final IElementType tokenType =
binaryExpression.getOperationTokenType();
- return tokenType == JavaTokenType.EQEQ;
+ return JavaTokenType.EQEQ.equals(tokenType);
}
}
@@ -768,7 +775,7 @@ public class SimplifiableJUnitAssertionInspection extends BaseInspection {
private static boolean isAssertMethodCall(
@NotNull PsiMethodCallExpression expression,
- @NotNull String assertMethodName) {
+ @NonNls @NotNull String assertMethodName) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
@NonNls final String methodName = methodExpression.getReferenceName();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/StaticSuiteInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/StaticSuiteInspection.java
index c5c888851988..f2c2b036d52c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/StaticSuiteInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/StaticSuiteInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,31 +19,35 @@ import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiModifier;
import com.intellij.psi.PsiParameterList;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class StaticSuiteInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "SuiteNotDeclaredStatic";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message("static.suite.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"static.suite.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new StaticSuiteVisitor();
}
@@ -60,7 +64,8 @@ public class StaticSuiteInspection extends BaseInspection {
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownCallsSuperTeardownInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownCallsSuperTeardownInspection.java
index 5fdb4575e98a..520908a3e6d4 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownCallsSuperTeardownInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownCallsSuperTeardownInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,34 +19,42 @@ import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class TeardownCallsSuperTeardownInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "TearDownDoesntCallSuperTearDown";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"teardown.calls.super.teardown.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"teardown.calls.super.teardown.problem.descriptor");
}
+ @Override
+ protected InspectionGadgetsFix buildFix(Object... infos) {
+ return new AddSuperTearDownCall();
+ }
+
private static class AddSuperTearDownCall extends InspectionGadgetsFix {
@NotNull
@@ -54,7 +62,7 @@ public class TeardownCallsSuperTeardownInspection extends BaseInspection {
return InspectionGadgetsBundle.message(
"teardown.calls.super.teardown.add.quickfix");
}
-
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement methodName = descriptor.getPsiElement();
@@ -66,22 +74,19 @@ public class TeardownCallsSuperTeardownInspection extends BaseInspection {
if (body == null) {
return;
}
- final PsiManager psiManager = PsiManager.getInstance(project);
- final PsiElementFactory factory = JavaPsiFacade.getInstance(psiManager.getProject()).getElementFactory();
+ final PsiElementFactory factory =
+ JavaPsiFacade.getElementFactory(project);
final PsiStatement newStatement =
factory.createStatementFromText("super.tearDown();", null);
final CodeStyleManager styleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
final PsiJavaToken brace = body.getRBrace();
body.addBefore(newStatement, brace);
styleManager.reformat(body);
}
}
- protected InspectionGadgetsFix buildFix(Object... infos) {
- return new AddSuperTearDownCall();
- }
-
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new TeardownCallsSuperTeardownVisitor();
}
@@ -109,7 +114,7 @@ public class TeardownCallsSuperTeardownInspection extends BaseInspection {
if (targetClass == null) {
return;
}
- if (!ClassUtils.isSubclass(targetClass,
+ if (!InheritanceUtil.isInheritor(targetClass,
"junit.framework.TestCase")) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownIsPublicVoidNoArgInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownIsPublicVoidNoArgInspection.java
index 04f72d2dd5dd..e1939c49a48a 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownIsPublicVoidNoArgInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TeardownIsPublicVoidNoArgInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,32 +16,36 @@
package com.siyeh.ig.junit;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class TeardownIsPublicVoidNoArgInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "TearDownWithIncorrectSignature";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"teardown.is.public.void.no.arg.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"teardown.is.public.void.no.arg.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new TeardownIsPublicVoidNoArgVisitor();
}
@@ -63,18 +67,14 @@ public class TeardownIsPublicVoidNoArgInspection extends BaseInspection {
if (targetClass == null) {
return;
}
- if (!ClassUtils.isSubclass(targetClass,
+ if (!InheritanceUtil.isInheritor(targetClass,
"junit.framework.TestCase")) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
- if (parameterList.getParametersCount() != 0) {
- registerMethodError(method);
- }
- else if (!returnType.equals(PsiType.VOID)) {
- registerMethodError(method);
- }
- else if (!method.hasModifierProperty(PsiModifier.PUBLIC) &&
+ if (parameterList.getParametersCount() != 0 ||
+ !returnType.equals(PsiType.VOID) ||
+ !method.hasModifierProperty(PsiModifier.PUBLIC) &&
!method.hasModifierProperty(PsiModifier.PROTECTED)) {
registerMethodError(method);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseInProductCodeInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseInProductCodeInspection.java
index 3418c02921a5..874dc12f4e31 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseInProductCodeInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseInProductCodeInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,42 +16,48 @@
package com.siyeh.ig.junit;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.MoveClassFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TestUtils;
import org.jetbrains.annotations.NotNull;
public class TestCaseInProductCodeInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"test.case.in.product.code.display.name");
}
+ @Override
@NotNull
public String getID() {
return "JUnitTestCaseInProductSource";
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"test.case.in.product.code.problem.descriptor");
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new MoveClassFix();
}
+ @Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new TestCaseInProductCodeVisitor();
}
@@ -63,7 +69,8 @@ public class TestCaseInProductCodeInspection extends BaseInspection {
if (TestUtils.isTest(aClass)) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
registerClassError(aClass);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseWithNoTestMethodsInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseWithNoTestMethodsInspection.java
index 9f16b6d4f3ca..74b12e135e43 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseWithNoTestMethodsInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestCaseWithNoTestMethodsInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,15 +15,15 @@
*/
package com.siyeh.ig.junit;
+import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiModifier;
import com.intellij.psi.PsiTypeParameter;
-import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TestUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -35,28 +35,36 @@ public class TestCaseWithNoTestMethodsInspection extends BaseInspection {
@SuppressWarnings({"PublicField"})
public boolean ignoreSupers = false;
+ @Override
@NotNull
public String getID() {
return "JUnitTestCaseWithNoTests";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"test.case.with.no.test.methods.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"test.case.with.no.test.methods.problem.descriptor");
}
+ @Override
@Nullable
public JComponent createOptionsPanel() {
- return new SingleCheckboxOptionsPanel("Ignore test cases which have super classes with test methods", this, "ignoreSupers");
+ return new SingleCheckboxOptionsPanel(
+ InspectionGadgetsBundle.message(
+ "test.case.with.no.test.methods.option"), this,
+ "ignoreSupers");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new TestCaseWithNoTestMethodsVisitor();
}
@@ -74,7 +82,8 @@ public class TestCaseWithNoTestMethodsInspection extends BaseInspection {
if (aClass instanceof PsiTypeParameter) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
final PsiMethod[] methods = aClass.getMethods();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodIsPublicVoidNoArgInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodIsPublicVoidNoArgInspection.java
index 2a1e669a6aa0..d7d0e27e8f13 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodIsPublicVoidNoArgInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodIsPublicVoidNoArgInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.junit;
import com.intellij.codeInsight.AnnotationUtil;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TestUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -94,7 +94,7 @@ public class TestMethodIsPublicVoidNoArgInspection extends BaseInspection {
final PsiClass targetClass = method.getContainingClass();
if (!AnnotationUtil.isAnnotated(method, "org.junit.Test", true)) {
if (targetClass == null ||
- !ClassUtils.isSubclass(targetClass,
+ !InheritanceUtil.isInheritor(targetClass,
"junit.framework.TestCase")) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspection.java
index 34f9037f511d..aa810246d46c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,17 +16,17 @@
package com.siyeh.ig.junit;
import com.intellij.codeInspection.ui.ListTable;
+import com.intellij.codeInspection.ui.ListWrappingTableModel;
import com.intellij.openapi.actionSystem.ActionToolbar;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.ui.ScrollPaneFactory;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TestUtils;
-import com.intellij.codeInspection.ui.ListWrappingTableModel;
import com.siyeh.ig.ui.CheckBox;
import com.siyeh.ig.ui.UiUtils;
import org.jdom.Element;
@@ -53,6 +53,7 @@ public class TestMethodWithoutAssertionInspection extends BaseInspection {
private final List classNames = new ArrayList();
private Map patternCache = null;
+ @SuppressWarnings({"PublicField"})
public boolean assertKeywordIsAssertion = false;
public TestMethodWithoutAssertionInspection() {
@@ -197,8 +198,8 @@ public class TestMethodWithoutAssertionInspection extends BaseInspection {
if (methodName == null) {
return;
}
- for (int i = 0, methodNamesSize = methodNamePatterns.size();
- i < methodNamesSize; i++) {
+ final int methodNamesSize = methodNamePatterns.size();
+ for (int i = 0; i < methodNamesSize; i++) {
final String pattern = methodNamePatterns.get(i);
if (!methodNamesMatch(methodName, pattern)) {
continue;
@@ -208,7 +209,7 @@ public class TestMethodWithoutAssertionInspection extends BaseInspection {
continue;
}
final PsiClass aClass = method.getContainingClass();
- if (!ClassUtils.isSubclass(aClass, classNames.get(i))) {
+ if (!InheritanceUtil.isInheritor(aClass, classNames.get(i))) {
continue;
}
containsAssertion = true;
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/UnconstructableTestCaseInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/UnconstructableTestCaseInspection.java
index f7cd60625381..f02031dba664 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/junit/UnconstructableTestCaseInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/junit/UnconstructableTestCaseInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,10 +16,10 @@
package com.siyeh.ig.junit;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import org.jetbrains.annotations.NotNull;
@@ -62,7 +62,8 @@ public class UnconstructableTestCaseInspection extends BaseInspection {
if (aClass instanceof PsiTypeParameter) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "junit.framework.TestCase")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "junit.framework.TestCase")) {
return;
}
final PsiMethod[] constructors = aClass.getConstructors();
@@ -81,7 +82,8 @@ public class UnconstructableTestCaseInspection extends BaseInspection {
hasNoArgConstructor = true;
}
if (parametersCount == 1) {
- final PsiParameter[] parameters = parameterList.getParameters();
+ final PsiParameter[] parameters =
+ parameterList.getParameters();
final PsiType type = parameters[0].getType();
if (TypeUtils.typeEquals(CommonClassNames.JAVA_LANG_STRING,
type)) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ExceptionNameDoesntEndWithExceptionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ExceptionNameDoesntEndWithExceptionInspection.java
index 161ed2333a67..5476cd868d2a 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ExceptionNameDoesntEndWithExceptionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ExceptionNameDoesntEndWithExceptionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,12 +18,12 @@ package com.siyeh.ig.naming;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiTypeParameter;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -81,7 +81,7 @@ public class ExceptionNameDoesntEndWithExceptionInspection
if (className.endsWith(exception)) {
return;
}
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_EXCEPTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonExceptionNameEndsWithExceptionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonExceptionNameEndsWithExceptionInspection.java
index ed0e58e1db38..c4a6a676ab90 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonExceptionNameEndsWithExceptionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonExceptionNameEndsWithExceptionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,13 +19,13 @@ import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -123,11 +123,12 @@ public class NonExceptionNameEndsWithExceptionInspection
if (!className.endsWith(exception)) {
return;
}
- if (ClassUtils.isSubclass(aClass,
+ if (InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_EXCEPTION)) {
return;
}
- registerClassError(aClass, className, Boolean.valueOf(isOnTheFly()));
+ registerClassError(aClass, className,
+ Boolean.valueOf(isOnTheFly()));
}
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/InnerClassReferenceVisitor.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/InnerClassReferenceVisitor.java
index 1851742e87ba..fdac6edef080 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/InnerClassReferenceVisitor.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/InnerClassReferenceVisitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,7 +27,6 @@ public class InnerClassReferenceVisitor extends JavaRecursiveElementVisitor {
private boolean referencesStaticallyAccessible = true;
public InnerClassReferenceVisitor(PsiClass innerClass) {
- super();
this.innerClass = innerClass;
}
@@ -42,14 +41,14 @@ public class InnerClassReferenceVisitor extends JavaRecursiveElementVisitor {
return true;
}
}
- if (InheritanceUtil.isCorrectDescendant(innerClass, aClass, true)) {
+ if (InheritanceUtil.isInheritorOrSelf(innerClass, aClass, true)) {
return true;
}
PsiClass classScope = aClass;
final PsiClass outerClass =
ClassUtils.getContainingClass(innerClass);
while (classScope != null) {
- if (InheritanceUtil.isCorrectDescendant(outerClass, classScope,
+ if (InheritanceUtil.isInheritorOrSelf(outerClass, classScope,
true)) {
return false;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayToCollectionCopyInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayToCollectionCopyInspection.java
index a05b1233ee26..040d0ecfe925 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayToCollectionCopyInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayToCollectionCopyInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2010 Bas Leijdekkers
+ * Copyright 2006-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,12 +19,16 @@ import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.tree.IElementType;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.*;
+import com.siyeh.ig.psiutils.ExpressionUtils;
+import com.siyeh.ig.psiutils.ParenthesesUtils;
+import com.siyeh.ig.psiutils.SideEffectChecker;
+import com.siyeh.ig.psiutils.VariableAccessUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -563,7 +567,7 @@ public class ManualArrayToCollectionCopyInspection extends BaseInspection {
return false;
}
final PsiClass containingClass = method.getContainingClass();
- return ClassUtils.isSubclass(containingClass,
+ return InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_UTIL_COLLECTION);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
index fb30cf14be3f..41d751c462a4 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2005 Dave Griffith
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,7 +25,6 @@ class MethodReferenceVisitor extends JavaRecursiveElementVisitor{
private final PsiMember m_method;
MethodReferenceVisitor(PsiMember method){
- super();
m_method = method;
}
@@ -40,7 +39,8 @@ class MethodReferenceVisitor extends JavaRecursiveElementVisitor{
super.visitElement(element);
}
- @Override public void visitReferenceElement(PsiJavaCodeReferenceElement reference){
+ @Override public void visitReferenceElement(
+ PsiJavaCodeReferenceElement reference){
super.visitReferenceElement(reference);
final PsiElement resolvedElement = reference.resolve();
if(!(resolvedElement instanceof PsiClass)){
@@ -77,7 +77,8 @@ class MethodReferenceVisitor extends JavaRecursiveElementVisitor{
m_referencesStaticallyAccessible = false;
}
- @Override public void visitThisExpression(@NotNull PsiThisExpression expression){
+ @Override public void visitThisExpression(
+ @NotNull PsiThisExpression expression){
super.visitThisExpression(expression);
m_referencesStaticallyAccessible = false;
}
@@ -91,7 +92,7 @@ class MethodReferenceVisitor extends JavaRecursiveElementVisitor{
}
final PsiClass referenceContainingClass = m_method.getContainingClass();
final PsiClass containingClass = member.getContainingClass();
- return !InheritanceUtil.isCorrectDescendant(referenceContainingClass,
+ return !InheritanceUtil.isInheritorOrSelf(referenceContainingClass,
containingClass, true);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TailRecursionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TailRecursionInspection.java
index 2ddff0d1affa..1756be7fda7c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TailRecursionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TailRecursionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2008 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,17 +33,20 @@ import org.jetbrains.annotations.Nullable;
public class TailRecursionInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message("tail.recursion.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"tail.recursion.problem.descriptor");
}
+ @Override
@Nullable
protected InspectionGadgetsFix buildFix(Object... infos) {
final PsiMethod containingMethod = (PsiMethod) infos[0];
@@ -74,6 +77,7 @@ public class TailRecursionInspection extends BaseInspection {
"tail.recursion.replace.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement tailCallToken = descriptor.getPsiElement();
@@ -87,9 +91,12 @@ public class TailRecursionInspection extends BaseInspection {
if (body == null) {
return;
}
- final StringBuilder builder = new StringBuilder();
+ @NonNls final StringBuilder builder = new StringBuilder();
builder.append('{');
final PsiClass containingClass = method.getContainingClass();
+ if (containingClass == null) {
+ return;
+ }
final String thisVariableName;
final JavaCodeStyleManager styleManager =
JavaCodeStyleManager.getInstance(project);
@@ -121,9 +128,8 @@ public class TailRecursionInspection extends BaseInspection {
tailCallIsContainedInLoop = false;
}
builder.append("while(true)");
- final PsiManager psiManager = PsiManager.getInstance(project);
final CodeStyleManager codeStyleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
replaceTailCalls(body, method, thisVariableName,
tailCallIsContainedInLoop, builder);
builder.append('}');
@@ -222,13 +228,8 @@ public class TailRecursionInspection extends BaseInspection {
out.append('.');
}
out.append(text);
- } else if (element instanceof PsiThisExpression) {
- if (thisVariableName == null) {
- out.append(text);
- } else {
- out.append(thisVariableName);
- }
- } else if (element instanceof PsiSuperExpression) {
+ } else if (element instanceof PsiThisExpression ||
+ element instanceof PsiSuperExpression) {
if (thisVariableName == null) {
out.append(text);
} else {
@@ -358,6 +359,7 @@ public class TailRecursionInspection extends BaseInspection {
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new TailRecursionVisitor();
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ToArrayCallWithZeroLengthArrayArgumentInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ToArrayCallWithZeroLengthArrayArgumentInspection.java
index bbcfa234ee1c..1a5088351af8 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ToArrayCallWithZeroLengthArrayArgumentInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ToArrayCallWithZeroLengthArrayArgumentInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007-2010 Bas Leijdekkers
+ * Copyright 2007-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,12 +18,12 @@ package com.siyeh.ig.performance;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.CollectionUtils;
import com.siyeh.ig.psiutils.ExpressionUtils;
import org.jetbrains.annotations.Nls;
@@ -135,7 +135,7 @@ public class ToArrayCallWithZeroLengthArrayArgumentInspection
final PsiType componentType = type.getComponentType();
final String typeText = componentType.getCanonicalText();
@NonNls final String replacementText =
- "new " + typeText + "[" + qualifierText + ".size()]";
+ "new " + typeText + '[' + qualifierText + ".size()]";
return getElementText(expression, referenceExpression,
replacementText);
}
@@ -191,7 +191,7 @@ public class ToArrayCallWithZeroLengthArrayArgumentInspection
return;
}
final PsiClass containingClass = method.getContainingClass();
- if (!ClassUtils.isSubclass(containingClass,
+ if (!InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_UTIL_COLLECTION)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfAWTPeerClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfAWTPeerClassInspection.java
index e4575fc777b9..08aa49f703a3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfAWTPeerClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfAWTPeerClassInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,32 +16,35 @@
package com.siyeh.ig.portability;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class UseOfAWTPeerClassInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"use.of.awt.peer.class.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"use.of.awt.peer.class.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new UseOfAWTPeerClassVisitor();
}
- private static class UseOfAWTPeerClassVisitor extends BaseInspectionVisitor {
-
+ private static class UseOfAWTPeerClassVisitor
+ extends BaseInspectionVisitor {
@Override public void visitVariable(@NotNull PsiVariable variable) {
super.visitVariable(variable);
@@ -65,7 +68,7 @@ public class UseOfAWTPeerClassInspection extends BaseInspection {
if(resolveClass instanceof PsiTypeParameter){
return;
}
- if(!ClassUtils.isSubclass(resolveClass,
+ if(!InheritanceUtil.isInheritor(resolveClass,
"java.awt.peer.ComponentPeer")) {
return;
}
@@ -97,7 +100,7 @@ public class UseOfAWTPeerClassInspection extends BaseInspection {
if(resolveClass instanceof PsiTypeParameter) {
return;
}
- if(!ClassUtils.isSubclass(resolveClass,
+ if(!InheritanceUtil.isInheritor(resolveClass,
"java.awt.peer.ComponentPeer")) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfJDBCDriverClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfJDBCDriverClassInspection.java
index b26ece8ae58a..9fd737a56b35 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfJDBCDriverClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/UseOfJDBCDriverClassInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,26 +16,29 @@
package com.siyeh.ig.portability;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class UseOfJDBCDriverClassInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"use.of.concrete.jdbc.driver.class.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"use.of.concrete.jdbc.driver.class.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new UseOfJDBCDriverClassVisitor();
}
@@ -65,7 +68,7 @@ public class UseOfJDBCDriverClassInspection extends BaseInspection {
if(resolveClass instanceof PsiTypeParameter){
return;
}
- if(!ClassUtils.isSubclass(resolveClass, "java.sql.Driver")) {
+ if(!InheritanceUtil.isInheritor(resolveClass, "java.sql.Driver")) {
return;
}
final PsiTypeElement typeElement = variable.getTypeElement();
@@ -96,7 +99,7 @@ public class UseOfJDBCDriverClassInspection extends BaseInspection {
if(resolveClass instanceof PsiTypeParameter){
return;
}
- if(!ClassUtils.isSubclass(resolveClass, "java.sql.Driver")) {
+ if(!InheritanceUtil.isInheritor(resolveClass, "java.sql.Driver")) {
return;
}
registerNewExpressionError(newExpression);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ClassUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ClassUtils.java
index 751b5b4c6cb2..1898696cb975 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ClassUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ClassUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,15 +15,11 @@
*/
package com.siyeh.ig.psiutils;
-import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.searches.ClassInheritorsSearch;
-import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.TypeConversionUtil;
import com.intellij.util.Query;
-import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.Nullable;
import java.util.HashSet;
@@ -81,19 +77,6 @@ public class ClassUtils {
private ClassUtils() {
}
- public static boolean isSubclass(@Nullable PsiClass aClass,
- @NonNls String ancestorName) {
- if (aClass == null) {
- return false;
- }
- final PsiManager psiManager = aClass.getManager();
- final Project project = psiManager.getProject();
- final GlobalSearchScope scope = GlobalSearchScope.allScope(project);
- final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(project);
- final PsiClass ancestorClass = psiFacade.findClass(ancestorName, scope);
- return InheritanceUtil.isCorrectDescendant(aClass, ancestorClass, true);
- }
-
public static boolean isPrimitive(PsiType type) {
return TypeConversionUtil.isPrimitiveAndNotNull(type);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/CloneUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/CloneUtils.java
index 3d7a244d43d6..552af71556ef 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/CloneUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/CloneUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,18 +16,17 @@
package com.siyeh.ig.psiutils;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiUtil;
import com.siyeh.HardcodedMethodConstants;
import org.jetbrains.annotations.NotNull;
public class CloneUtils{
- private CloneUtils(){
- super();
- }
+ private CloneUtils(){}
public static boolean isCloneable(@NotNull PsiClass aClass){
- return ClassUtils.isSubclass(aClass,
+ return InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_CLONEABLE);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
index 5eeeac20ebb8..c05ffab36204 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,10 +30,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
-public class ImportUtils{
+public class ImportUtils {
- private ImportUtils(){
- }
+ private ImportUtils() {}
public static void addImportIfNeeded(PsiJavaFile file, PsiClass aClass) {
final PsiFile containingFile = aClass.getContainingFile();
@@ -78,7 +77,7 @@ public class ImportUtils{
if (containingClass == null) {
return false;
}
- if (ClassUtils.isSubclass(containingClass, fqName)) {
+ if (InheritanceUtil.isInheritor(containingClass, fqName)) {
return true;
}
final PsiField field =
@@ -424,7 +423,7 @@ public class ImportUtils{
throws IncorrectOperationException {
final PsiClass containingClass =
PsiTreeUtil.getParentOfType(context, PsiClass.class);
- if (ClassUtils.isSubclass(containingClass, qualifierClass)) {
+ if (InheritanceUtil.isInheritor(containingClass, qualifierClass)) {
return;
}
final PsiFile psiFile = context.getContainingFile();
@@ -524,7 +523,7 @@ public class ImportUtils{
}
final PsiClass containingClass =
PsiTreeUtil.getParentOfType(context, PsiClass.class);
- if (InheritanceUtil.isCorrectDescendant(containingClass, memberClass,
+ if (InheritanceUtil.isInheritorOrSelf(containingClass, memberClass,
true)) {
return false;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/IteratorUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/IteratorUtils.java
index 2be1ad75404d..7ca1cf7bfec9 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/IteratorUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/IteratorUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2006 Bas Leijdekkers
+ * Copyright 2003-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -55,10 +55,6 @@ public class IteratorUtils {
CommonClassNames.JAVA_UTIL_ITERATOR, PsiType.BOOLEAN, "hasNext");
}
- public static boolean isIterator(PsiClass aClass) {
- return ClassUtils.isSubclass(aClass, CommonClassNames.JAVA_UTIL_ITERATOR);
- }
-
private static class CallsIteratorNextVisitor
extends JavaRecursiveElementVisitor {
@@ -91,7 +87,8 @@ public class IteratorUtils {
super.visitMethodCallExpression(expression);
if (checkScanner) {
if (!MethodCallUtils.isCallToMethod(expression,
- CommonClassNames.JAVA_UTIL_ITERATOR, null, SCANNER_PATTERN)) {
+ CommonClassNames.JAVA_UTIL_ITERATOR, null,
+ SCANNER_PATTERN)) {
return;
}
} else {
@@ -119,7 +116,7 @@ public class IteratorUtils {
final PsiReferenceExpression referenceExpression =
(PsiReferenceExpression) qualifier;
final PsiElement element = referenceExpression.resolve();
- if (target != element) {
+ if (!target.equals(element)) {
return;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/MethodUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/MethodUtils.java
index 8dc1f47c8ed4..1ce3326f6f22 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/MethodUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/MethodUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2010 JetBrains s.r.o.
+ * Copyright 2000-2011 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -130,7 +130,8 @@ public class MethodUtils{
}
if (containingClassName != null) {
final PsiClass containingClass = method.getContainingClass();
- return ClassUtils.isSubclass(containingClass, containingClassName);
+ return InheritanceUtil.isInheritor(containingClass,
+ containingClassName);
}
return true;
}
@@ -186,7 +187,8 @@ public class MethodUtils{
}
if (containingClassName != null) {
final PsiClass containingClass = method.getContainingClass();
- return ClassUtils.isSubclass(containingClass, containingClassName);
+ return InheritanceUtil.isInheritor(containingClass,
+ containingClassName);
}
return true;
}
@@ -335,7 +337,7 @@ public class MethodUtils{
}
final PsiClass fieldContainingClass = field.getContainingClass();
final PsiClass methodContainingClass = method.getContainingClass();
- if (InheritanceUtil.isCorrectDescendant(methodContainingClass,
+ if (InheritanceUtil.isInheritorOrSelf(methodContainingClass,
fieldContainingClass, true)) {
return field;
} else {
@@ -408,7 +410,7 @@ public class MethodUtils{
final PsiField field = (PsiField) referent;
final PsiClass fieldContainingClass = field.getContainingClass();
final PsiClass methodContainingClass = method.getContainingClass();
- if(!InheritanceUtil.isCorrectDescendant(methodContainingClass,
+ if(!InheritanceUtil.isInheritorOrSelf(methodContainingClass,
fieldContainingClass, true)){
return null;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
index 24f804d6fa41..a79afaae9967 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
@@ -18,6 +18,7 @@ package com.siyeh.ig.psiutils;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -26,12 +27,12 @@ public class SerializationUtils {
private SerializationUtils() {}
public static boolean isSerializable(@Nullable PsiClass aClass) {
- return ClassUtils.isSubclass(aClass,
+ return InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_IO_SERIALIZABLE);
}
public static boolean isExternalizable(@Nullable PsiClass aClass) {
- return ClassUtils.isSubclass(aClass,
+ return InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_IO_EXTERNALIZABLE);
}
@@ -56,7 +57,8 @@ public class SerializationUtils {
}
public static boolean hasReadObject(@NotNull PsiClass aClass) {
- final PsiMethod[] methods = aClass.findMethodsByName("readObject", false);
+ final PsiMethod[] methods =
+ aClass.findMethodsByName("readObject", false);
for (final PsiMethod method : methods) {
if (isReadObject(method)) {
return true;
@@ -130,9 +132,9 @@ public class SerializationUtils {
if (isExternalizable(psiClass)) {
return true;
}
- if (ClassUtils.isSubclass(psiClass,
+ if (InheritanceUtil.isInheritor(psiClass,
CommonClassNames.JAVA_UTIL_COLLECTION) ||
- ClassUtils.isSubclass(psiClass,
+ InheritanceUtil.isInheritor(psiClass,
CommonClassNames.JAVA_UTIL_MAP)) {
final PsiType[] parameters = classTYpe.getParameters();
for (PsiType parameter : parameters) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TestUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TestUtils.java
index da09ad52e032..4276b02dcaa3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TestUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TestUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,16 +21,15 @@ import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
-import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.*;
+import com.intellij.psi.util.InheritanceUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class TestUtils {
- private TestUtils() {
- super();
- }
+ private TestUtils() {}
public static boolean isTest(@Nullable PsiClass aClass) {
if (aClass == null) {
@@ -104,6 +103,7 @@ public class TestUtils {
public static boolean isJUnitTestClass(@Nullable PsiClass targetClass){
return targetClass != null &&
- ClassUtils.isSubclass(targetClass, "junit.framework.TestCase");
+ InheritanceUtil.isInheritor(targetClass,
+ "junit.framework.TestCase");
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
index 3bf1c26e149e..989262a3fc45 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,8 @@ package com.siyeh.ig.psiutils;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.*;
+import com.intellij.psi.util.InheritanceUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -29,7 +31,8 @@ public class TypeUtils {
private TypeUtils() {}
public static boolean expressionHasType(
- @Nullable PsiExpression expression, @NonNls @NotNull String typeName) {
+ @Nullable PsiExpression expression,
+ @NonNls @NotNull String typeName) {
if (expression == null) {
return false;
}
@@ -79,7 +82,7 @@ public class TypeUtils {
}
final PsiClassType classType = (PsiClassType) type;
final PsiClass aClass = classType.resolve();
- return aClass != null && ClassUtils.isSubclass(aClass, typeName);
+ return aClass != null && InheritanceUtil.isInheritor(aClass, typeName);
}
//getTypeIfOneOfOrSubtype
@@ -102,7 +105,7 @@ public class TypeUtils {
return null;
}
for (String typeName : typeNames) {
- if (ClassUtils.isSubclass(aClass, typeName)) {
+ if (InheritanceUtil.isInheritor(aClass, typeName)) {
return typeName;
}
}
@@ -128,7 +131,7 @@ public class TypeUtils {
return false;
}
for (String typeName : typeNames) {
- if (ClassUtils.isSubclass(aClass, typeName)) {
+ if (InheritanceUtil.isInheritor(aClass, typeName)) {
return true;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WeakestTypeFinder.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WeakestTypeFinder.java
index 571e45796e65..50ae091a5efd 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WeakestTypeFinder.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WeakestTypeFinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2010 Bas Leijdekkers
+ * Copyright 2008-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -305,9 +305,9 @@ public class WeakestTypeFinder {
HardcodedMethodConstants.INDEX_OF.equals(methodName) ||
HardcodedMethodConstants.LAST_INDEX_OF.equals(methodName)) {
final PsiClass containingClass = method.getContainingClass();
- if (ClassUtils.isSubclass(containingClass,
+ if (InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_UTIL_MAP) ||
- ClassUtils.isSubclass(containingClass,
+ InheritanceUtil.isInheritor(containingClass,
CommonClassNames.JAVA_UTIL_COLLECTION)) {
final PsiReferenceExpression methodExpression =
methodCallExpression.getMethodExpression();
@@ -521,9 +521,9 @@ public class WeakestTypeFinder {
if (aClass == null) {
return true;
}
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_RUNTIME_EXCEPTION) &&
- !ClassUtils.isSubclass(aClass,
+ !InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_LANG_ERROR)) {
return true;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomClassloaderInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomClassloaderInspection.java
index 4b22cdd0c2f2..4f8261e42314 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomClassloaderInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomClassloaderInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,34 +16,38 @@
package com.siyeh.ig.security;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class CustomClassloaderInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"custom.classloader.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"custom.classloader.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new CustomClassloaderVisitor();
}
- private static class CustomClassloaderVisitor extends BaseInspectionVisitor {
+ private static class CustomClassloaderVisitor
+ extends BaseInspectionVisitor {
@Override public void visitClass(@NotNull PsiClass aClass) {
- if (!ClassUtils.isSubclass(aClass, "java.lang.ClassLoader")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.lang.ClassLoader")) {
return;
}
if ("java.lang.ClassLoader".equals(aClass.getQualifiedName())) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomSecurityManagerInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomSecurityManagerInspection.java
index ece9f3a26dfd..77976d22d576 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomSecurityManagerInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/CustomSecurityManagerInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,26 +16,29 @@
package com.siyeh.ig.security;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class CustomSecurityManagerInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"custom.security.manager.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"custom.security.manager.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new CustomSecurityManagerVisitor();
}
@@ -44,7 +47,8 @@ public class CustomSecurityManagerInspection extends BaseInspection {
extends BaseInspectionVisitor {
@Override public void visitClass(@NotNull PsiClass aClass) {
- if (!ClassUtils.isSubclass(aClass, "java.lang.SecurityManager")) {
+ if (!InheritanceUtil.isInheritor(aClass,
+ "java.lang.SecurityManager")) {
return;
}
if ("java.lang.SecurityManager".equals(aClass.getQualifiedName())) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCExecuteWithNonConstantStringInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCExecuteWithNonConstantStringInspection.java
index 9672698927fb..0c2cae24b5c6 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCExecuteWithNonConstantStringInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCExecuteWithNonConstantStringInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.security;
import com.intellij.psi.*;
import com.intellij.psi.util.ConstantExpressionUtil;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -82,7 +82,7 @@ public class JDBCExecuteWithNonConstantStringInspection
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "java.sql.Statement")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.sql.Statement")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCPrepareStatementWithNonConstantStringInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCPrepareStatementWithNonConstantStringInspection.java
index 45e7be17045b..480307a66650 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCPrepareStatementWithNonConstantStringInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/JDBCPrepareStatementWithNonConstantStringInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.security;
import com.intellij.psi.*;
import com.intellij.psi.util.ConstantExpressionUtil;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -80,7 +80,7 @@ public class JDBCPrepareStatementWithNonConstantStringInspection
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "java.sql.Connection")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.sql.Connection")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/LoadLibraryWithNonConstantStringInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/LoadLibraryWithNonConstantStringInspection.java
index aa7d1882eb3a..5405d5ea548f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/LoadLibraryWithNonConstantStringInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/LoadLibraryWithNonConstantStringInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@ package com.siyeh.ig.security;
import com.intellij.psi.*;
import com.intellij.psi.util.ConstantExpressionUtil;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -66,7 +66,7 @@ public class LoadLibraryWithNonConstantStringInspection
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "java.lang.System")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.lang.System")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/security/UnsecureRandomNumberGenerationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/security/UnsecureRandomNumberGenerationInspection.java
index 9f46ee14edd2..bdc2eeb2f49c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/security/UnsecureRandomNumberGenerationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/security/UnsecureRandomNumberGenerationInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,22 +16,24 @@
package com.siyeh.ig.security;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class UnsecureRandomNumberGenerationInspection
extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"unsecure.random.number.generation.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
@NonNls final String text = ((PsiElement)infos[0]).getText();
@@ -47,6 +49,7 @@ public class UnsecureRandomNumberGenerationInspection
}
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new InsecureRandomNumberGenerationVisitor();
}
@@ -54,7 +57,8 @@ public class UnsecureRandomNumberGenerationInspection
private static class InsecureRandomNumberGenerationVisitor
extends BaseInspectionVisitor {
- @Override public void visitNewExpression(@NotNull PsiNewExpression expression) {
+ @Override public void visitNewExpression(
+ @NotNull PsiNewExpression expression) {
super.visitNewExpression(expression);
final PsiJavaCodeReferenceElement reference =
expression.getClassReference();
@@ -66,7 +70,7 @@ public class UnsecureRandomNumberGenerationInspection
return;
}
final PsiClass aClass = (PsiClass) element;
- if (!ClassUtils.isSubclass(aClass, "java.util.Random")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.util.Random")) {
return;
}
final String qualifiedName = aClass.getQualifiedName();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/ComparatorNotSerializableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/ComparatorNotSerializableInspection.java
index 382f61343232..ea9174a44eaa 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/ComparatorNotSerializableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/ComparatorNotSerializableInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2006-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,12 +18,12 @@ package com.siyeh.ig.serialization;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiAnonymousClass;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.MakeSerializableFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.SerializationUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -63,7 +63,7 @@ public class ComparatorNotSerializableInspection extends BaseInspection {
if (aClass instanceof PsiAnonymousClass) {
return;
}
- if (!ClassUtils.isSubclass(aClass,
+ if (!InheritanceUtil.isInheritor(aClass,
CommonClassNames.JAVA_UTIL_COMPARATOR)) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/SerializableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/SerializableInspection.java
index fd11cb0eb5c4..dfecdac65843 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/SerializableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/serialization/SerializableInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Bas Leijdekkers
+ * Copyright 2007-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,22 +15,20 @@
*/
package com.siyeh.ig.serialization;
+import com.intellij.codeInspection.ui.AddAction;
import com.intellij.codeInspection.ui.ListTable;
import com.intellij.codeInspection.ui.ListWrappingTableModel;
import com.intellij.codeInspection.ui.RemoveAction;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiClass;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
-import com.siyeh.ig.psiutils.ClassUtils;
import com.siyeh.ig.psiutils.SerializationUtils;
-import com.intellij.codeInspection.ui.AddAction;
import org.jdom.Element;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
+import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
@@ -44,16 +42,19 @@ public abstract class SerializableInspection extends BaseInspection {
parseString(superClassString, superClassList);
}
+ @Override
public JComponent createOptionsPanel() {
final Form form = new Form();
return form.getContentPanel();
}
+ @Override
public void readSettings(Element node) throws InvalidDataException {
super.readSettings(node);
parseString(superClassString, superClassList);
}
+ @Override
public void writeSettings(Element node) throws WriteExternalException {
superClassString = formatString(superClassList);
super.writeSettings(node);
@@ -64,7 +65,7 @@ public abstract class SerializableInspection extends BaseInspection {
return false;
}
for (String superClassName : superClassList) {
- if (ClassUtils.isSubclass(aClass, superClassName)) {
+ if (InheritanceUtil.isInheritor(aClass, superClassName)) {
return true;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ImplicitCallToSuperInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ImplicitCallToSuperInspection.java
index 20d592f9fbbe..80557649207e 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ImplicitCallToSuperInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ImplicitCallToSuperInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -81,9 +81,8 @@ public class ImplicitCallToSuperInspection extends BaseInspection {
JavaPsiFacade.getElementFactory(project);
final PsiStatement newStatement =
factory.createStatementFromText("super();", null);
- final PsiManager psiManager = PsiManager.getInstance(project);
final CodeStyleManager styleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
if (body == null) {
return;
}
@@ -116,7 +115,8 @@ public class ImplicitCallToSuperInspection extends BaseInspection {
final PsiClass superClass = containingClass.getSuperClass();
if (superClass != null) {
final String superClassName = superClass.getQualifiedName();
- if (CommonClassNames.JAVA_LANG_OBJECT.equals(superClassName)) {
+ if (CommonClassNames.JAVA_LANG_OBJECT.equals(
+ superClassName)) {
return;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ConditionSignalInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ConditionSignalInspection.java
index bd557b4f42ff..bc875905351f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ConditionSignalInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ConditionSignalInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,37 +18,42 @@ package com.siyeh.ig.threading;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class ConditionSignalInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "CallToSignalInsteadOfSignalAll";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message("condition.signal.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"condition.signal.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new ConditionSignalVisitor();
}
+ @Override
public InspectionGadgetsFix buildFix(Object... infos) {
return new ConditionSignalFix();
}
@@ -61,6 +66,7 @@ public class ConditionSignalInspection extends BaseInspection {
"condition.signal.replace.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement methodNameElement = descriptor.getPsiElement();
@@ -105,9 +111,8 @@ public class ConditionSignalInspection extends BaseInspection {
if (containingClass == null) {
return;
}
- if (!ClassUtils
- .isSubclass(containingClass,
- "java.util.concurrent.locks.Condition")) {
+ if (!InheritanceUtil.isInheritor(containingClass,
+ "java.util.concurrent.locks.Condition")) {
return;
}
registerMethodCallError(expression);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SleepWhileHoldingLockInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SleepWhileHoldingLockInspection.java
index 850d19a61efb..429264eadf69 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SleepWhileHoldingLockInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SleepWhileHoldingLockInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,28 +16,31 @@
package com.siyeh.ig.threading;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class SleepWhileHoldingLockInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"sleep.while.holding.lock.display.name");
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"sleep.while.holding.lock.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new SleepWhileHoldingLockVisitor();
}
@@ -50,7 +53,8 @@ public class SleepWhileHoldingLockInspection extends BaseInspection {
super.visitMethodCallExpression(expression);
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- @NonNls final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName =
+ methodExpression.getReferenceName();
if (!"sleep".equals(methodName)) {
return;
}
@@ -76,7 +80,8 @@ public class SleepWhileHoldingLockInspection extends BaseInspection {
}
final PsiClass methodClass = method.getContainingClass();
if (methodClass == null ||
- !ClassUtils.isSubclass(methodClass, "java.lang.Thread")) {
+ !InheritanceUtil.isInheritor(methodClass,
+ "java.lang.Thread")) {
return;
}
registerMethodCallError(expression);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SynchronizedMethodInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SynchronizedMethodInspection.java
index 65d0fb982cce..1cdbb6eceea9 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SynchronizedMethodInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/SynchronizedMethodInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2008 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,12 +36,14 @@ public class SynchronizedMethodInspection extends BaseInspection {
public boolean m_includeNativeMethods = true;
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"synchronized.method.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
final PsiMethod method = (PsiMethod)infos[0];
@@ -49,6 +51,7 @@ public class SynchronizedMethodInspection extends BaseInspection {
"synchronized.method.problem.descriptor", method.getName());
}
+ @Override
protected InspectionGadgetsFix buildFix(Object... infos) {
final PsiMethod method = (PsiMethod)infos[0];
if (method.getBody() == null) {
@@ -57,10 +60,12 @@ public class SynchronizedMethodInspection extends BaseInspection {
return new SynchronizedMethodFix();
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new SynchronizedMethodVisitor();
}
+ @Override
public JComponent createOptionsPanel() {
return new SingleCheckboxOptionsPanel(InspectionGadgetsBundle.message(
"synchronized.method.include.option"),
@@ -75,6 +80,7 @@ public class SynchronizedMethodInspection extends BaseInspection {
"synchronized.method.move.quickfix");
}
+ @Override
public void doFix(Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement nameElement = descriptor.getPsiElement();
@@ -100,14 +106,14 @@ public class SynchronizedMethodInspection extends BaseInspection {
replacementText = "{ synchronized(this){" + text.substring(1) +
'}';
}
- final PsiManager psiManager = PsiManager.getInstance(project);
- final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(psiManager.getProject()).getElementFactory();
+ final PsiElementFactory elementFactory =
+ JavaPsiFacade.getElementFactory(project);
final PsiCodeBlock block =
elementFactory.createCodeBlockFromText(replacementText,
null);
body.replace(block);
final CodeStyleManager codeStyleManager =
- psiManager.getCodeStyleManager();
+ CodeStyleManager.getInstance(project);
codeStyleManager.reformat(method);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadLocalNotStaticFinalInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadLocalNotStaticFinalInspection.java
index df7ed165308e..90c60113ec7b 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadLocalNotStaticFinalInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadLocalNotStaticFinalInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Bas Leijdekkers
+ * Copyright 2009-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,11 +16,12 @@
package com.siyeh.ig.threading;
import com.intellij.psi.*;
-import com.siyeh.InspectionGadgetsBundle;import com.siyeh.ig.BaseInspection;
+import com.intellij.psi.util.InheritanceUtil;
+import com.siyeh.InspectionGadgetsBundle;
+import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.MakeFieldStaticFinalFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
@@ -66,7 +67,7 @@ public class ThreadLocalNotStaticFinalInspection extends BaseInspection {
if (aClass == null) {
return;
}
- if (!ClassUtils.isSubclass(aClass, "java.lang.ThreadLocal")) {
+ if (!InheritanceUtil.isInheritor(aClass, "java.lang.ThreadLocal")) {
return;
}
final PsiModifierList modifierList = field.getModifierList();
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadRunInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadRunInspection.java
index e5c2edbb5ee3..5e156a0bec18 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadRunInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadRunInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package com.siyeh.ig.threading;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.HardcodedMethodConstants;
@@ -25,26 +26,29 @@ import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NotNull;
public class ThreadRunInspection extends BaseInspection {
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message("thread.run.display.name");
}
+ @Override
@NotNull
public String getID() {
return "CallToThreadRun";
}
+ @Override
@NotNull
protected String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message("thread.run.problem.descriptor");
}
+ @Override
public InspectionGadgetsFix buildFix(Object... infos) {
return new ThreadRunFix();
}
@@ -57,6 +61,7 @@ public class ThreadRunInspection extends BaseInspection {
"thread.run.replace.quickfix");
}
+ @Override
public void doFix(@NotNull Project project, ProblemDescriptor descriptor)
throws IncorrectOperationException {
final PsiElement methodNameIdentifier = descriptor.getPsiElement();
@@ -101,7 +106,7 @@ public class ThreadRunInspection extends BaseInspection {
if (methodClass == null) {
return;
}
- if (!ClassUtils.isSubclass(methodClass, "java.lang.Thread")) {
+ if (!InheritanceUtil.isInheritor(methodClass, "java.lang.Thread")) {
return;
}
if (isInsideThreadRun(expression)) {
@@ -125,7 +130,7 @@ public class ThreadRunInspection extends BaseInspection {
if (methodClass == null) {
return false;
}
- return ClassUtils.isSubclass(methodClass, "java.lang.Thread");
+ return InheritanceUtil.isInheritor(methodClass, "java.lang.Thread");
}
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadStartInConstructionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadStartInConstructionInspection.java
index e1d0f296c0b9..bc55c7d33d94 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadStartInConstructionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadStartInConstructionInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
package com.siyeh.ig.threading;
import com.intellij.psi.*;
+import com.intellij.psi.util.InheritanceUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
@@ -25,23 +26,27 @@ import org.jetbrains.annotations.NotNull;
public class ThreadStartInConstructionInspection extends BaseInspection {
+ @Override
@NotNull
public String getID() {
return "CallToThreadStartDuringObjectConstruction";
}
+ @Override
@NotNull
public String getDisplayName() {
return InspectionGadgetsBundle.message(
"thread.start.in.construction.display.name");
}
+ @Override
@NotNull
public String buildErrorString(Object... infos) {
return InspectionGadgetsBundle.message(
"thread.start.in.construction.problem.descriptor");
}
+ @Override
public BaseInspectionVisitor buildVisitor() {
return new ThreadStartInConstructionVisitor();
}
@@ -83,13 +88,14 @@ public class ThreadStartInConstructionInspection extends BaseInspection {
if (method == null) {
return;
}
- final PsiParameterList parameterList = method.getParameterList();
+ final PsiParameterList parameterList =
+ method.getParameterList();
if (parameterList.getParametersCount() != 0) {
return;
}
final PsiClass methodClass = method.getContainingClass();
if (methodClass == null ||
- !ClassUtils.isSubclass(methodClass,
+ !InheritanceUtil.isInheritor(methodClass,
"java.lang.Thread")) {
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadingUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadingUtils.java
index de07d7af82ad..4f0e523165bb 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadingUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/ThreadingUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,20 +16,19 @@
package com.siyeh.ig.threading;
import com.intellij.psi.*;
-import com.siyeh.ig.psiutils.ClassUtils;
+import com.intellij.psi.util.InheritanceUtil;
+import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
class ThreadingUtils {
- private ThreadingUtils() {
- super();
- }
+ private ThreadingUtils() {}
public static boolean isWaitCall(
@NotNull PsiMethodCallExpression expression) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName = methodExpression.getReferenceName();
if (!"wait".equals(methodName)) {
return false;
}
@@ -62,7 +61,7 @@ class ThreadingUtils {
@NotNull PsiMethodCallExpression expression) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName = methodExpression.getReferenceName();
if (!"notify".equals(methodName) && !"notifyAll".equals(methodName)) {
return false;
}
@@ -75,7 +74,7 @@ class ThreadingUtils {
@NotNull PsiMethodCallExpression expression) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName = methodExpression.getReferenceName();
if (!"signal".equals(methodName) && !"signalAll".equals(methodName)) {
return false;
}
@@ -92,15 +91,15 @@ class ThreadingUtils {
if (containingClass == null) {
return false;
}
- return ClassUtils.isSubclass(containingClass,
- "java.util.concurrent.locks.Condition");
+ return InheritanceUtil.isInheritor(containingClass,
+ "java.util.concurrent.locks.Condition");
}
public static boolean isAwaitCall(
@NotNull PsiMethodCallExpression expression) {
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
- final String methodName = methodExpression.getReferenceName();
+ @NonNls final String methodName = methodExpression.getReferenceName();
if (!"await".equals(methodName)
&& !"awaitUntil".equals(methodName)
&& !"awaitUninterruptibly".equals(methodName)
@@ -115,7 +114,7 @@ class ThreadingUtils {
if (containingClass == null) {
return false;
}
- return ClassUtils.isSubclass(containingClass,
- "java.util.concurrent.locks.Condition");
+ return InheritanceUtil.isInheritor(containingClass,
+ "java.util.concurrent.locks.Condition");
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java b/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java
deleted file mode 100644
index 7aeb1b7e8764..000000000000
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2010 Bas Leijdekkers
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.siyeh.ig.ui;
-
-import com.intellij.codeInspection.ui.ListTable;
-import com.intellij.codeInspection.ui.ListWrappingTableModel;
-import com.intellij.ide.DataManager;
-import com.intellij.ide.util.ClassFilter;
-import com.intellij.ide.util.TreeClassChooser;
-import com.intellij.ide.util.TreeClassChooserFactory;
-import com.intellij.openapi.actionSystem.DataContext;
-import com.intellij.openapi.actionSystem.DataKeys;
-import com.intellij.openapi.project.Project;
-import com.intellij.psi.PsiClass;
-import com.intellij.psi.search.GlobalSearchScope;
-import com.siyeh.InspectionGadgetsBundle;
-import com.siyeh.ig.psiutils.ClassUtils;
-import org.jetbrains.annotations.NonNls;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-
-public class TreeClassChooserAction extends AbstractAction {
-
- private final ListTable table;
- private final String chooserTitle;
- private final String[] ancestorClasses;
-
- public TreeClassChooserAction(ListTable table, String chooserTitle,
- @NonNls String... ancestorClasses) {
- this.table = table;
- this.chooserTitle = chooserTitle;
- this.ancestorClasses = ancestorClasses;
- putValue(NAME, InspectionGadgetsBundle.message("button.add"));
- }
-
- public void actionPerformed(ActionEvent e) {
- final DataManager dataManager = DataManager.getInstance();
- final Object source = e.getSource();
- if (!(source instanceof Component)) {
- return;
- }
- final DataContext dataContext =
- dataManager.getDataContext((Component) source);
- final Project project = DataKeys.PROJECT.getData(dataContext);
- if (project == null) {
- return;
- }
- final TreeClassChooserFactory chooserFactory =
- TreeClassChooserFactory.getInstance(project);
- final ClassFilter filter;
- if (ancestorClasses.length == 0) {
- filter = ClassFilter.ALL;
- } else {
- filter = new ClassFilter() {
- public boolean isAccepted(PsiClass aClass) {
- for (String ancestorClass : ancestorClasses) {
- if (ClassUtils.isSubclass(aClass, ancestorClass)) {
- return true;
- }
- }
- return false;
- }
- };
- }
- final TreeClassChooser classChooser =
- chooserFactory.createWithInnerClassesScopeChooser(chooserTitle,
- GlobalSearchScope.allScope(project), filter, null);
- classChooser.showDialog();
- final PsiClass selectedClass = classChooser.getSelected();
- if (selectedClass == null) {
- return;
- }
- final String qualifiedName = selectedClass.getQualifiedName();
- final ListWrappingTableModel tableModel = table.getModel();
- final int index = tableModel.indexOf(qualifiedName, 0);
- final int rowIndex;
- if (index < 0) {
- tableModel.addRow(qualifiedName);
- rowIndex = tableModel.getRowCount() - 1;
- } else {
- rowIndex = index;
- }
- final ListSelectionModel selectionModel =
- table.getSelectionModel();
- selectionModel.setSelectionInterval(rowIndex, rowIndex);
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- final Rectangle rectangle =
- table.getCellRect(rowIndex, 0, true);
- table.scrollRectToVisible(rectangle);
- }
- });
- }
-}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/UiUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/ui/UiUtils.java
index a5fe7c1521d5..e6f2efe99e14 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/UiUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/ui/UiUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2010 Bas Leijdekkers
+ * Copyright 2010-2011 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -24,9 +24,9 @@ import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.Icons;
import com.siyeh.InspectionGadgetsBundle;
-import com.siyeh.ig.psiutils.ClassUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -251,7 +251,7 @@ public class UiUtils {
public boolean isAccepted(PsiClass aClass) {
for (String ancestorClass : ancestorClasses) {
- if (ClassUtils.isSubclass(aClass, ancestorClass)) {
+ if (InheritanceUtil.isInheritor(aClass, ancestorClass)) {
return true;
}
}