diff --git a/plugins/InspectionGadgets/Leftovers.txt b/plugins/InspectionGadgets/Leftovers.txt
index fe363570858c..634f8290d66b 100644
--- a/plugins/InspectionGadgets/Leftovers.txt
+++ b/plugins/InspectionGadgets/Leftovers.txt
@@ -8,16 +8,15 @@
Paired open/close for Sockets
Paired open/close for Channels
Paired acquire/release for Locks
- Duplicate condition
Empty zip file entry
Empty jar file entry
getClass().getResource()
Inefficient use of keySet iterator rather than entrySet iterator
- Encapsulatable use of field
Static inheritance quickfix
Static import quickfix
Vararg quickfix
Non non-static initializer quickfix
Fix the "variable accessed in synchronized and unsynchronized contexts"
- to deal with unsynchronized private methods called only from synchronized contexts
\ No newline at end of file
+ to deal with unsynchronized private methods called only from synchronized contexts
+ Telemetry
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/META-INF/plugin.xml b/plugins/InspectionGadgets/META-INF/plugin.xml
index f8774dc31360..3f33e91294c0 100644
--- a/plugins/InspectionGadgets/META-INF/plugin.xml
+++ b/plugins/InspectionGadgets/META-INF/plugin.xml
@@ -15,5 +15,10 @@
com.siyeh.ig.InspectionGadgetsPlugin
+
+
+ com.siyeh.ig.InspectionGadgetsProjectComponent
+
+
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/Performance Hogs.txt b/plugins/InspectionGadgets/Performance Hogs.txt
new file mode 100644
index 000000000000..101040749c99
--- /dev/null
+++ b/plugins/InspectionGadgets/Performance Hogs.txt
@@ -0,0 +1,32 @@
+50 unused import
+19 implicit numeric conversion
+17 method may be static
+15 unnecessary funlly qualified name
+11 infinite recursion
+11 Accessing a non-public class of another object
+11 Class references subclass
+10 JDBC resource opened but not safely closed
+8 Non-synchronized method overrides synchronized method
+8 Overly coupled class
+7 Overly coupled method
+7 c-style array declaration
+7 mismatched query and update of collection
+6 Collection declared by class not interface
+6 Field accessed by synchronized and unsynchronized
+6 raw use of parameterized class
+5 Pointless bitwise expression
+5 use of obsolete collection type
+4 casting to incompatible interface
+4 concatenation with empty string
+4 constant string buffer may be string
+4 non-constant string should be stringBuffer
+4 method overrides private method of superclass
+4 pointless arithmetic expression
+4 static method accessed via subclass
+4 use of java.lang.reflect
+3 readObject or writeObject not private
+3 readResolve or writeReplace not protected
+3 setup instead of setUp()
+3 comparison of short and char
+3 overly strong type cast
+3 pointless boolean expression
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspection.java
index 3b161741aefb..0ab76606b1e7 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/BaseInspection.java
@@ -2,12 +2,19 @@ package com.siyeh.ig;
import com.intellij.codeInspection.InspectionManager;
import com.intellij.codeInspection.LocalInspectionTool;
+import com.intellij.codeInspection.ProblemDescriptor;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiField;
+import com.intellij.psi.PsiMethod;
import java.lang.reflect.Method;
public abstract class BaseInspection extends LocalInspectionTool {
private final String m_shortName = null;
+ private InspectionRunListener listener = null;
public String getShortName() {
if (m_shortName == null) {
@@ -37,6 +44,73 @@ public abstract class BaseInspection extends LocalInspectionTool {
return null;
}
+ public ProblemDescriptor[] checkMethod(PsiMethod method,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ bindListener();
+ final long start = System.currentTimeMillis();
+ try{
+ return doCheckMethod(method, manager, isOnTheFly);
+ } finally{
+ final long end = System.currentTimeMillis();
+ listener.reportRun(getDisplayName(), end-start);
+ }
+ }
+
+ protected ProblemDescriptor[] doCheckMethod(PsiMethod method,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ return super.checkMethod(method, manager, isOnTheFly);
+ }
+
+ public ProblemDescriptor[] checkClass(PsiClass aClass,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ bindListener();
+ final long start = System.currentTimeMillis();
+ try{
+ return doCheckClass(aClass, manager, isOnTheFly);
+ } finally{
+ final long end = System.currentTimeMillis();
+ listener.reportRun(getDisplayName(), end - start);
+ }
+ }
+
+ protected ProblemDescriptor[] doCheckClass(PsiClass aClass,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ return super.checkClass(aClass, manager, isOnTheFly);
+ }
+
+ public ProblemDescriptor[] checkField(PsiField field,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ bindListener();
+ final long start = System.currentTimeMillis();
+ try{
+ return doCheckField(field, manager, isOnTheFly);
+ } finally{
+ final long end = System.currentTimeMillis();
+ listener.reportRun(getDisplayName(), end - start);
+ }
+ }
+
+ private void bindListener(){
+ if(listener== null)
+ {
+ final Application application = ApplicationManager.getApplication();
+ final InspectionGadgetsPlugin plugin =
+ (InspectionGadgetsPlugin) application.getComponent("InspectionGadgets");
+ listener = plugin.getTelemetry();
+ }
+ }
+
+ protected ProblemDescriptor[] doCheckField(PsiField field,
+ InspectionManager manager,
+ boolean isOnTheFly){
+ return super.checkField(field, manager, isOnTheFly);
+ }
+
public boolean hasQuickFix() {
final Method[] methods = getClass().getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsPlugin.java b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsPlugin.java
index 8622f0c40bdf..7374a17976e2 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsPlugin.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsPlugin.java
@@ -44,6 +44,7 @@ import com.siyeh.ig.style.*;
import com.siyeh.ig.threading.*;
import com.siyeh.ig.verbose.*;
import com.siyeh.ig.visibility.*;
+import com.siyeh.ig.telemetry.InspectionGadgetsTelemetry;
import java.io.*;
import java.util.*;
@@ -54,6 +55,7 @@ public class InspectionGadgetsPlugin implements ApplicationComponent,
private final List m_inspectionClasses = new ArrayList(NUM_INSPECTIONS);
private static final String DESCRIPTION_DIRECTORY_NAME =
"C:/My Open Source Projects/InspectionGadgetsSVN/src/inspectionDescriptions/";
+ private final InspectionGadgetsTelemetry telemetry = new InspectionGadgetsTelemetry();
public static void main(String[] args){
final InspectionGadgetsPlugin plugin = new InspectionGadgetsPlugin();
@@ -344,6 +346,7 @@ public class InspectionGadgetsPlugin implements ApplicationComponent,
inspectionClasses.add(MismatchedCollectionQueryUpdateInspection.class);
inspectionClasses.add(TextLabelInSwitchStatementInspection.class);
inspectionClasses.add(AssignmentToNullInspection.class);
+ inspectionClasses.add(DuplicateConditionInspection.class);
inspectionClasses.add(IteratorNextDoesNotThrowNoSuchElementExceptionInspection.class);
inspectionClasses.add(ReturnNullInspection.class);
inspectionClasses.add(StaticCallOnSubclassInspection.class);
@@ -769,4 +772,8 @@ public class InspectionGadgetsPlugin implements ApplicationComponent,
public void disposeComponent(){
}
+
+ public InspectionGadgetsTelemetry getTelemetry(){
+ return telemetry;
+ }
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsProjectComponent.java b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsProjectComponent.java
new file mode 100644
index 000000000000..4c33fefe1452
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionGadgetsProjectComponent.java
@@ -0,0 +1,36 @@
+package com.siyeh.ig;
+
+import com.intellij.openapi.components.ProjectComponent;
+import com.intellij.openapi.project.Project;
+import com.siyeh.ig.telemetry.TelemetryToolWindowImpl;
+import com.siyeh.ig.telemetry.TelemetryToolWindow;
+
+public class InspectionGadgetsProjectComponent implements ProjectComponent{
+ private TelemetryToolWindow toolWindow = null;
+
+ public InspectionGadgetsProjectComponent(Project project){
+ super();
+ this.project = project;
+ }
+
+ private Project project;
+
+ public void projectOpened(){
+ toolWindow = new TelemetryToolWindowImpl(project);
+ toolWindow.register();
+ }
+
+ public void projectClosed(){
+ toolWindow.unregister();
+ }
+
+ public String getComponentName(){
+ return "InspectionGadgetsProjectComponent";
+ }
+
+ public void initComponent(){
+ }
+
+ public void disposeComponent(){
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionRunListener.java b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionRunListener.java
new file mode 100644
index 000000000000..5e820ff6366c
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/InspectionRunListener.java
@@ -0,0 +1,5 @@
+package com.siyeh.ig;
+
+public interface InspectionRunListener{
+ void reportRun(String inspectionID, long runTime);
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/DuplicateConditionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/DuplicateConditionInspection.java
new file mode 100644
index 000000000000..fc1dc79c7579
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/DuplicateConditionInspection.java
@@ -0,0 +1,128 @@
+package com.siyeh.ig.bugs;
+
+import com.intellij.codeInspection.InspectionManager;
+import com.intellij.psi.*;
+import com.intellij.psi.tree.IElementType;
+import com.siyeh.ig.BaseInspection;
+import com.siyeh.ig.BaseInspectionVisitor;
+import com.siyeh.ig.ExpressionInspection;
+import com.siyeh.ig.GroupNames;
+import com.siyeh.ig.psiutils.ExpressionEquivalenceChecker;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+public class DuplicateConditionInspection extends ExpressionInspection{
+ public String getDisplayName(){
+ return "Duplicate condition in 'if' statement";
+ }
+
+ public String getGroupDisplayName(){
+ return GroupNames.BUGS_GROUP_NAME;
+ }
+
+ public String buildErrorString(PsiElement location){
+ return "Duplicate condition #ref #loc";
+ }
+
+ public BaseInspectionVisitor createVisitor(InspectionManager inspectionManager,
+ boolean onTheFly){
+ return new DuplicateConditionVisitor(this, inspectionManager, onTheFly);
+ }
+
+ private static class DuplicateConditionVisitor
+ extends BaseInspectionVisitor{
+ private DuplicateConditionVisitor(BaseInspection inspection,
+ InspectionManager inspectionManager,
+ boolean isOnTheFly){
+ super(inspection, inspectionManager, isOnTheFly);
+ }
+
+ public void visitIfStatement(PsiIfStatement statement){
+ super.visitIfStatement(statement);
+ final PsiElement parent = statement.getParent();
+ if(parent instanceof PsiIfStatement){
+ final PsiIfStatement parentStatement = (PsiIfStatement) parent;
+ final PsiStatement elseBranch = parentStatement.getElseBranch();
+ if(statement.equals(elseBranch)){
+ return;
+ }
+ }
+ final Set conditions = new HashSet();
+ collectConditionsForIfStatement(statement, conditions);
+ if(conditions.size() < 2){
+ return;
+ }
+ final PsiExpression[] conditionArray =
+ (PsiExpression[]) conditions.toArray(new PsiExpression[conditions.size()]);
+ final boolean[] matched = new boolean[conditionArray.length];
+ Arrays.fill(matched, false);
+ for(int i = 0; i < conditionArray.length; i++){
+ if(matched[i]){
+ continue;
+ }
+ final PsiExpression condition = conditionArray[i];
+ for(int j = i+1; j < conditionArray.length; j++){
+ if(matched[j]){
+ continue;
+ }
+ final PsiExpression testCondition = conditionArray[j];
+ final boolean areEquivalent =
+ ExpressionEquivalenceChecker.expressionsAreEquivalent(condition,
+ testCondition);
+ if(areEquivalent){
+ registerError(testCondition);
+ if(!matched[i]){
+ registerError(condition);
+ }
+ matched[i] = true;
+ matched[j] = true;
+ }
+ }
+ }
+ }
+
+ private void collectConditionsForIfStatement(PsiIfStatement statement,
+ Set conditions){
+ final PsiExpression condition = statement.getCondition();
+ collectConditionsForExpression(condition, conditions);
+ final PsiStatement branch = statement.getElseBranch();
+ if(branch instanceof PsiIfStatement)
+ {
+ collectConditionsForIfStatement((PsiIfStatement)branch, conditions);
+ }
+ }
+
+ private void collectConditionsForExpression(PsiExpression condition, Set conditions){
+ if(condition == null)
+ {
+ return;
+ }
+ if(condition instanceof PsiParenthesizedExpression)
+ {
+ final PsiExpression contents = ((PsiParenthesizedExpression) condition).getExpression();
+ collectConditionsForExpression(contents, conditions);
+ return;
+ }
+ if(condition instanceof PsiBinaryExpression)
+ {
+ final PsiBinaryExpression binaryExpression = (PsiBinaryExpression) condition;
+ final PsiJavaToken sign = binaryExpression.getOperationSign();
+ if(sign!=null)
+ {
+ final IElementType tokenType = sign.getTokenType();
+ if(JavaTokenType.OROR.equals(tokenType))
+ {
+ final PsiExpression lhs = binaryExpression.getLOperand();
+ collectConditionsForExpression(lhs, conditions);
+ final PsiExpression rhs = binaryExpression.getROperand();
+ collectConditionsForExpression(rhs, conditions);
+ return;
+ }
+ }
+ }
+ conditions.add(condition);
+ }
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsBetweenInconvertibleTypesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsBetweenInconvertibleTypesInspection.java
index 21fe203bac61..856cb8401f87 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsBetweenInconvertibleTypesInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsBetweenInconvertibleTypesInspection.java
@@ -87,10 +87,8 @@ public class EqualsBetweenInconvertibleTypesInspection extends ExpressionInspect
if (comparisonType == null) {
return false;
}
- if (TypeConversionUtil.areTypesConvertible(comparedType, comparisonType)) {
- return false;
- }
- return true;
+ return !TypeConversionUtil.areTypesConvertible(comparedType,
+ comparisonType);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsUsesNonFinalVariableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsUsesNonFinalVariableInspection.java
index bbc3c40da9a4..838c7258f47a 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsUsesNonFinalVariableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/EqualsUsesNonFinalVariableInspection.java
@@ -85,10 +85,7 @@ public class EqualsUsesNonFinalVariableInspection extends ExpressionInspection{
if(returnType == null){
return false;
}
- if(!returnType.equals(PsiType.BOOLEAN)){
- return false;
- }
- return true;
+ return returnType.equals(PsiType.BOOLEAN);
}
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/HashCodeUsesNonFinalVariableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/HashCodeUsesNonFinalVariableInspection.java
index 6b29b23ee78f..6aaeda3476de 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/HashCodeUsesNonFinalVariableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/HashCodeUsesNonFinalVariableInspection.java
@@ -80,10 +80,7 @@ public class HashCodeUsesNonFinalVariableInspection extends ExpressionInspection
if (returnType == null) {
return false;
}
- if (!returnType.equals(PsiType.INT)) {
- return false;
- }
- return true;
+ return returnType.equals(PsiType.INT);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IncompatibleMaskInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IncompatibleMaskInspection.java
index aa8337392b49..4526fdeea962 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IncompatibleMaskInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IncompatibleMaskInspection.java
@@ -168,9 +168,6 @@ public class IncompatibleMaskInspection extends ExpressionInspection{
return true;
}
final PsiExpression lhs = binaryExpression.getLOperand();
- if(PsiUtil.isConstantExpression(lhs)){
- return true;
- }
- return false;
+ return PsiUtil.isConstantExpression(lhs);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java
index b8d084c2e2ad..e1b50dbc93d8 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java
@@ -109,10 +109,7 @@ public class MismatchedArrayReadWriteInspection extends VariableInspection {
if (VariableAccessUtils.variableIsPassedAsMethodArgument(variable, context)) {
return true;
}
- if (VariableAccessUtils.arrayContentsAreAssigned(variable, context)) {
- return true;
- }
- return false;
+ return VariableAccessUtils.arrayContentsAreAssigned(variable, context);
}
private static boolean isDefaultArrayInitializer(PsiExpression initializer) {
@@ -120,10 +117,7 @@ public class MismatchedArrayReadWriteInspection extends VariableInspection {
return false;
}
final PsiNewExpression newExpression = (PsiNewExpression) initializer;
- if (newExpression.getArrayInitializer() != null) {
- return false;
- }
- return true;
+ return newExpression.getArrayInitializer() == null;
}
private static boolean arrayContentsAreRead(PsiVariable variable, PsiElement context) {
@@ -143,10 +137,7 @@ public class MismatchedArrayReadWriteInspection extends VariableInspection {
if (VariableAccessUtils.variableIsPassedAsMethodArgument(variable, context)) {
return true;
}
- if (VariableAccessUtils.arrayContentsAreAccessed(variable, context)) {
- return true;
- }
- return false;
+ return VariableAccessUtils.arrayContentsAreAccessed(variable, context);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspection.java
index 0dc822a991eb..d3f2edc48d2d 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspection.java
@@ -114,10 +114,7 @@ public class MismatchedCollectionQueryUpdateInspection extends VariableInspectio
if (variableIsPassedAsMethodArgument(variable, context)) {
return true;
}
- if (collectionUpdateCalled(variable, context)) {
- return true;
- }
- return false;
+ return collectionUpdateCalled(variable, context);
}
private static boolean collectionContentsAreQueried(PsiVariable variable, PsiElement context) {
@@ -137,10 +134,7 @@ public class MismatchedCollectionQueryUpdateInspection extends VariableInspectio
if (variableIsPassedAsMethodArgument(variable, context)) {
return true;
}
- if (collectionQueryCalled(variable, context)) {
- return true;
- }
- return false;
+ return collectionQueryCalled(variable, context);
}
private static boolean variableIsAssignedFrom(PsiVariable variable, PsiElement context) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SubtractionInCompareToInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SubtractionInCompareToInspection.java
index d98cd253b385..c4baa11d8041 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SubtractionInCompareToInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/SubtractionInCompareToInspection.java
@@ -67,10 +67,7 @@ public class SubtractionInCompareToInspection extends ExpressionInspection {
return false;
}
final PsiType returnType = method.getReturnType();
- if (!TypeUtils.typeEquals("int", returnType)) {
- return false;
- }
- return true;
+ return TypeUtils.typeEquals("int", returnType);
}
private static boolean isSubtraction(PsiBinaryExpression exp) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/confusing/ImplicitNumericConversionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/confusing/ImplicitNumericConversionInspection.java
index 63bcad2de2fb..e773f1dd69c9 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/confusing/ImplicitNumericConversionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/confusing/ImplicitNumericConversionInspection.java
@@ -154,11 +154,9 @@ public class ImplicitNumericConversionInspection extends ExpressionInspection {
if (isIntegral(expressionType) && isFloatingPoint(expectedType)) {
return true;
}
- if (isFloatingPoint(expressionType) && isFloatingPoint(expectedType)) {
- return true;
- }
+ return isFloatingPoint(expressionType) &&
+ isFloatingPoint(expectedType);
- return false;
}
private static boolean isNegatedLiteral(PsiExpression expression) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/finalization/NoExplicitFinalizeCallsInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/finalization/NoExplicitFinalizeCallsInspection.java
index fd6b0c69b58b..4cb0a582df7f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/finalization/NoExplicitFinalizeCallsInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/finalization/NoExplicitFinalizeCallsInspection.java
@@ -10,7 +10,7 @@ import com.siyeh.ig.GroupNames;
public class NoExplicitFinalizeCallsInspection extends ExpressionInspection {
public String getID(){
- return "Finalize called explicitly";
+ return "FinalizeCalledExplicitly";
}
public String getDisplayName() {
return "'finalize()' called explicitly";
@@ -27,7 +27,7 @@ public class NoExplicitFinalizeCallsInspection extends ExpressionInspection {
public boolean isEnabledByDefault(){
return true;
}
-
+
public BaseInspectionVisitor createVisitor(InspectionManager inspectionManager, boolean onTheFly) {
return new NoExplicitFinalizeCallsVisitor(this, inspectionManager, onTheFly);
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/imports/JavaLangImportInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/imports/JavaLangImportInspection.java
index 51160231de28..92dc86883938 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/imports/JavaLangImportInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/imports/JavaLangImportInspection.java
@@ -1,8 +1,6 @@
package com.siyeh.ig.imports;
import com.intellij.codeInspection.InspectionManager;
-import com.intellij.codeInspection.ProblemDescriptor;
-import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.siyeh.ig.*;
import com.siyeh.ig.fixes.DeleteImportFix;
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AnnotationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AnnotationInspection.java
index ea852c2fd7d0..d769900b1ef3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AnnotationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AnnotationInspection.java
@@ -17,9 +17,9 @@ public class AnnotationInspection extends BaseInspection {
return GroupNames.JDK_GROUP_NAME;
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (!aClass.isPhysical()) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
@@ -27,18 +27,18 @@ public class AnnotationInspection extends BaseInspection {
return visitor.getErrors();
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
if (!method.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
if (!field.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AssertAsNameInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AssertAsNameInspection.java
index 5905ee1ff54c..118157b1473b 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AssertAsNameInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/AssertAsNameInspection.java
@@ -31,42 +31,42 @@ public class AssertAsNameInspection extends BaseInspection {
return fix;
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (aClass instanceof PsiAnonymousClass) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumAsNameInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumAsNameInspection.java
index 8db1c6b4cd50..628249d7b333 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumAsNameInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/jdk/EnumAsNameInspection.java
@@ -33,42 +33,42 @@ public class EnumAsNameInspection extends BaseInspection {
return fix;
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (aClass instanceof PsiAnonymousClass) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/ObsoleteCollectionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/ObsoleteCollectionInspection.java
index 1ea5d5483402..e647b39fb1a1 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/ObsoleteCollectionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/ObsoleteCollectionInspection.java
@@ -77,10 +77,7 @@ public class ObsoleteCollectionInspection extends VariableInspection{
if(typeName.indexOf('<') > 0){
typeName = typeName.substring(0, typeName.indexOf('<'));
}
- if(!s_obsoleteCollectionTypes.contains(typeName)){
- return false;
- }
- return true;
+ return s_obsoleteCollectionTypes.contains(typeName);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ClassNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ClassNamingConventionInspection.java
index 582110e7bb2e..12e7ecc155ae 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ClassNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ClassNamingConventionInspection.java
@@ -58,9 +58,9 @@ public class ClassNamingConventionInspection extends ConventionInspection {
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (!aClass.isPhysical()) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ConstantNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ConstantNamingConventionInspection.java
index 4bd6c44985d4..58679aa1ca84 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ConstantNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ConstantNamingConventionInspection.java
@@ -58,13 +58,13 @@ public class ConstantNamingConventionInspection extends ConventionInspection {
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/DollarSignInNameInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/DollarSignInNameInspection.java
index c26121a42d92..da15f8982ad5 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/DollarSignInNameInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/DollarSignInNameInspection.java
@@ -32,41 +32,41 @@ public class DollarSignInNameInspection extends BaseInspection {
return true;
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (aClass instanceof PsiAnonymousClass) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (containingClass instanceof PsiAnonymousClass) {
- return super.checkClass(containingClass, mgr, isOnTheFly);
+ return super.doCheckClass(containingClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceMethodNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceMethodNamingConventionInspection.java
index 34e1d0455bca..1a78dd367a2c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceMethodNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceMethodNamingConventionInspection.java
@@ -62,13 +62,13 @@ public class InstanceMethodNamingConventionInspection extends ConventionInspecti
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceVariableNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceVariableNamingConventionInspection.java
index 1941efe28b77..de3374d9e81c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceVariableNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InstanceVariableNamingConventionInspection.java
@@ -60,13 +60,13 @@ public class InstanceVariableNamingConventionInspection extends ConventionInspec
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InterfaceNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InterfaceNamingConventionInspection.java
index c9b604ce7c74..e9b925b38f8f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InterfaceNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/InterfaceNamingConventionInspection.java
@@ -58,10 +58,10 @@ public class InterfaceNamingConventionInspection extends ConventionInspection {
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (!aClass.isPhysical()) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LocalVariableNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LocalVariableNamingConventionInspection.java
index 975d7aec6b1d..11e65b9c0343 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LocalVariableNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LocalVariableNamingConventionInspection.java
@@ -71,13 +71,13 @@ public class LocalVariableNamingConventionInspection extends ConventionInspectio
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ParameterNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ParameterNamingConventionInspection.java
index 47c0e363911f..94a3c42628c1 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ParameterNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/ParameterNamingConventionInspection.java
@@ -61,13 +61,13 @@ public class ParameterNamingConventionInspection extends ConventionInspection {
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticMethodNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticMethodNamingConventionInspection.java
index 655536e7a324..7d532b8c4588 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticMethodNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticMethodNamingConventionInspection.java
@@ -60,13 +60,13 @@ public class StaticMethodNamingConventionInspection extends ConventionInspection
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = method.getContainingClass();
if (containingClass == null) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticVariableNamingConventionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticVariableNamingConventionInspection.java
index f64c13a6f20c..d77fb9116ddc 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticVariableNamingConventionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/StaticVariableNamingConventionInspection.java
@@ -58,13 +58,13 @@ public class StaticVariableNamingConventionInspection extends ConventionInspecti
return new NamingConventionsVisitor(this, inspectionManager, onTheFly);
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
final PsiClass containingClass = field.getContainingClass();
if (containingClass == null) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
if (!containingClass.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleGetterInClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleGetterInClassInspection.java
index 0b7c24af78ba..73114f82b739 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleGetterInClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleGetterInClassInspection.java
@@ -109,10 +109,6 @@ public class CallToSimpleGetterInClassInspection extends ExpressionInspection{
return false;
}
final PsiField field = (PsiField) referent;
- if(!field.getContainingClass().equals(method.getContainingClass()))
- {
- return false;
- }
- return true;
+ return field.getContainingClass().equals(method.getContainingClass());
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleSetterInClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleSetterInClassInspection.java
index ecd170b1753c..4416272adb2c 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleSetterInClassInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/CallToSimpleSetterInClassInspection.java
@@ -92,7 +92,8 @@ public class CallToSimpleSetterInClassInspection extends ExpressionInspection{
{
return false;
}
- final PsiAssignmentExpression assignment = ((PsiAssignmentExpression) possibleAssignment);
+ final PsiAssignmentExpression assignment =
+ (PsiAssignmentExpression) possibleAssignment;
final PsiJavaToken sign = assignment.getOperationSign();
if(!sign.getTokenType().equals(JavaTokenType.EQ)){
return false;
@@ -136,10 +137,7 @@ public class CallToSimpleSetterInClassInspection extends ExpressionInspection{
if(rReferent == null){
return false;
}
- if(!(rReferent instanceof PsiParameter)){
- return false;
- }
+ return rReferent instanceof PsiParameter;
- return true;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java
index 50fc3c68e9c7..c502846fe1bd 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java
@@ -107,10 +107,7 @@ public class LengthOneStringsInConcatenationInspection extends ExpressionInspect
return false;
}
final PsiType siblingType = sibling.getType();
- if (!TypeUtils.isJavaLangString(siblingType)) {
- return false;
- }
- return true;
+ return TypeUtils.isJavaLangString(siblingType);
}
static boolean isArgumentOfStringAppend(PsiExpression expression) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayCopyInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayCopyInspection.java
index fc148302a717..dbd514f9aa73 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayCopyInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/ManualArrayCopyInspection.java
@@ -203,10 +203,7 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
if (SideEffectChecker.mayHaveSideEffects(rhs)) {
return false;
}
- if (!isOffsetArrayAccess(rhs, var)) {
- return false;
- }
- return true;
+ return isOffsetArrayAccess(rhs, var);
}
private static boolean isOffsetArrayAccess(PsiExpression expression, PsiLocalVariable var) {
@@ -219,10 +216,7 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
if (index == null) {
return false;
}
- if (!expressionIsOffsetVariableLookup(index, var)) {
- return false;
- }
- return true;
+ return expressionIsOffsetVariableLookup(index, var);
}
private static boolean isIncrement(PsiStatement statement, PsiLocalVariable var) {
@@ -242,10 +236,7 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
return false;
}
final PsiExpression operand = prefixExp.getOperand();
- if (!expressionIsVariableLookup(operand, var)) {
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
} else if (exp instanceof PsiPostfixExpression) {
final PsiPostfixExpression postfixExp = (PsiPostfixExpression) exp;
final PsiJavaToken sign = postfixExp.getOperationSign();
@@ -257,10 +248,7 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
return false;
}
final PsiExpression operand = postfixExp.getOperand();
- if (!expressionIsVariableLookup(operand, var)) {
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
}
return true;
}
@@ -280,10 +268,7 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
return false;
}
final PsiExpression lhs = binaryExp.getLOperand();
- if (!expressionIsVariableLookup(lhs, var)) {
- return false;
- }
- return true;
+ return expressionIsVariableLookup(lhs, var);
}
private static boolean expressionIsVariableLookup(PsiExpression expression, PsiLocalVariable var) {
@@ -315,10 +300,8 @@ public class ManualArrayCopyInspection extends ExpressionInspection {
return false;
}
final IElementType tokenType = sign.getTokenType();
- if (!tokenType.equals(JavaTokenType.PLUS) && !tokenType.equals(JavaTokenType.MINUS)) {
- return false;
- }
- return true;
+ return !(!tokenType.equals(JavaTokenType.PLUS) &&
+ !tokenType.equals(JavaTokenType.MINUS));
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
index 217010c67c71..d083078b5d6a 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodReferenceVisitor.java
@@ -61,10 +61,8 @@ class MethodReferenceVisitor extends PsiRecursiveElementVisitor {
}
final PsiClass referenceContainingClass = m_method.getContainingClass();
final PsiClass methodContainingClass = method.getContainingClass();
- if (InheritanceUtil.isInheritorOrSelf(referenceContainingClass, methodContainingClass, true)) {
- return false;
- }
- return true;
+ return !InheritanceUtil.isInheritorOrSelf(referenceContainingClass,
+ methodContainingClass, true);
}
boolean isFieldStaticallyAccessible(PsiField field) {
@@ -73,9 +71,7 @@ class MethodReferenceVisitor extends PsiRecursiveElementVisitor {
}
final PsiClass referenceContainingClass = m_method.getContainingClass();
final PsiClass fieldContainingClass = field.getContainingClass();
- if (InheritanceUtil.isInheritorOrSelf(referenceContainingClass, fieldContainingClass, true)) {
- return false;
- }
- return true;
+ return !InheritanceUtil.isInheritorOrSelf(referenceContainingClass,
+ fieldContainingClass, true);
}
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SingleCharacterStartsWithInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SingleCharacterStartsWithInspection.java
index 40fd9c1d8884..827138cffeb4 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SingleCharacterStartsWithInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SingleCharacterStartsWithInspection.java
@@ -73,10 +73,7 @@ public class SingleCharacterStartsWithInspection extends ExpressionInspection {
if (value == null) {
return false;
}
- if (value.length() != 1) {
- return false;
- }
- return true;
+ return value.length() == 1;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/StringBufferToStringInConcatenationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/StringBufferToStringInConcatenationInspection.java
index 449fd01bbfcf..b087c6624685 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/StringBufferToStringInConcatenationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/StringBufferToStringInConcatenationInspection.java
@@ -105,10 +105,7 @@ public class StringBufferToStringInConcatenationInspection extends ExpressionIns
}
final PsiClass aClass = method.getContainingClass();
final String className = aClass.getQualifiedName();
- if (!"java.lang.StringBuffer".equals(className)) {
- return false;
- }
- return true;
+ return "java.lang.StringBuffer".equals(className);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TrivialStringConcatenationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TrivialStringConcatenationInspection.java
index 2c898abdffde..bb0144dbe8dd 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TrivialStringConcatenationInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/TrivialStringConcatenationInspection.java
@@ -98,7 +98,7 @@ public class TrivialStringConcatenationInspection extends ExpressionInspection{
onTheFly);
}
- private class TrivialStringConcatenationVisitor
+ private static class TrivialStringConcatenationVisitor
extends BaseInspectionVisitor{
private TrivialStringConcatenationVisitor(BaseInspection inspection,
InspectionManager inspectionManager,
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/HardcodedFileSeparatorsInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/HardcodedFileSeparatorsInspection.java
index 16ee627d3cf6..81cf068d36a9 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/HardcodedFileSeparatorsInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/HardcodedFileSeparatorsInspection.java
@@ -85,11 +85,8 @@ public class HardcodedFileSeparatorsInspection extends ExpressionInspection{
return false;
}
- if(isURLString(str)){
- return false;
- }
+ return !isURLString(str);
- return true;
}
/**
@@ -105,11 +102,8 @@ public class HardcodedFileSeparatorsInspection extends ExpressionInspection{
return true;
}
- if(str.indexOf("/>") != -1){
- return true;
- }
+ return str.indexOf("/>") != -1;
- return false;
}
/**
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/SystemExitInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/SystemExitInspection.java
index 6da635c0ee13..a8af4bee1fd3 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/portability/SystemExitInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/portability/SystemExitInspection.java
@@ -81,11 +81,8 @@ public class SystemExitInspection extends ExpressionInspection {
if (className == null) {
return false;
}
- if (!"java.lang.System".equals(className) &&
- !"java.lang.Runtime".equals(className)) {
- return false;
- }
- return true;
+ return !(!"java.lang.System".equals(className) &&
+ !"java.lang.Runtime".equals(className));
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/BoolUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/BoolUtils.java
index 73b2522ef8b4..26cede94984f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/BoolUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/BoolUtils.java
@@ -53,10 +53,6 @@ public class BoolUtils {
return false;
}
final String text = test.getText();
- if ("true".equals(text)) {
- return true;
-
- }
- return false;
+ return "true".equals(text);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ControlFlowUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ControlFlowUtils.java
index a6f2f90726ca..0dcc06832b02 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ControlFlowUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ControlFlowUtils.java
@@ -73,10 +73,7 @@ public class ControlFlowUtils {
if (test == null) {
return false;
}
- if (BoolUtils.isTrue(test)) {
- return false;
- }
- return true;
+ return !BoolUtils.isTrue(test);
}
private static boolean foreachStatementMayReturnNormally(PsiForeachStatement loopStatement) {
@@ -129,11 +126,8 @@ public class ControlFlowUtils {
return true;
}
final PsiStatement elseBranch = ifStatement.getElseBranch();
- if (elseBranch == null ||
- statementMayCompleteNormally(elseBranch)) {
- return true;
- }
- return false;
+ return elseBranch == null ||
+ statementMayCompleteNormally(elseBranch);
}
private static boolean labeledStatementMayCompleteNormally(PsiLabeledStatement labeledStatement) {
@@ -454,10 +448,7 @@ public class ControlFlowUtils {
if (returnFinder.returnFound()) {
return false;
}
- if (codeBlockMayCompleteNormally(body)) {
- return false;
- }
- return true;
+ return !codeBlockMayCompleteNormally(body);
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java
index dd7e1e6c74d8..b88e6d958f32 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java
@@ -33,7 +33,7 @@ public class ExpectedTypeUtils{
final PsiElement parent = ref.getParent();
if(parent instanceof PsiMethodCallExpression){
final PsiMethod psiMethod =
- ((PsiMethodCallExpression) parent).resolveMethod();
+ ((PsiCall) parent).resolveMethod();
if(psiMethod == null){
return null;
}
@@ -42,10 +42,10 @@ public class ExpectedTypeUtils{
return factory.createType(aClass);
} else if(parent instanceof PsiReferenceExpression){
final PsiElement elt =
- ((PsiReferenceExpression) parent).resolve();
+ ((PsiReference) parent).resolve();
if(elt instanceof PsiField){
final PsiClass aClass =
- ((PsiField) elt).getContainingClass();
+ ((PsiMember) elt).getContainingClass();
final PsiElementFactory factory =
manager.getElementFactory();
return factory.createType(aClass);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
index 2885b8c8f642..a12d40d02593 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
@@ -17,10 +17,7 @@ public class ImportUtils {
if (hasOnDemandImportConflict(fqName, file)) {
return false;
}
- if (containsConflictingClassReference(fqName, file)) {
- return false;
- }
- return true;
+ return !containsConflictingClassReference(fqName, file);
}
private static boolean hasExactImportMatch(String fqName, PsiJavaFile file) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationReadUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationReadUtils.java
index ccced9682feb..f1a5e0727433 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationReadUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationReadUtils.java
@@ -326,7 +326,7 @@ public class InitializationReadUtils {
return true;
}
if (lhs instanceof PsiReferenceExpression) {
- final PsiElement element = ((PsiReferenceExpression) lhs).resolve();
+ final PsiElement element = ((PsiReference) lhs).resolve();
if (element != null &&
field != null &&
element.equals(field)) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java
index ca094b209a25..450cca3060e1 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java
@@ -254,7 +254,7 @@ public class InitializationUtils {
return true;
}
if (lhs instanceof PsiReferenceExpression) {
- final PsiElement element = ((PsiReferenceExpression) lhs).resolve();
+ final PsiElement element = ((PsiReference) lhs).resolve();
if (element != null &&
field != null &&
element.equals(field)) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/RecursionUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/RecursionUtils.java
index a5a46f5cf9a3..9c8556bfb220 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/RecursionUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/RecursionUtils.java
@@ -147,11 +147,8 @@ public class RecursionUtils {
return true;
}
final PsiStatement elseBranch = ifStatement.getElseBranch();
- if (elseBranch != null &&
- statementMayReturnBeforeRecursing(elseBranch, method)) {
- return true;
- }
- return false;
+ return elseBranch != null &&
+ statementMayReturnBeforeRecursing(elseBranch, method);
}
private static boolean labeledStatementMayReturnBeforeRecursing(PsiLabeledStatement labeledStatement, PsiMethod method) {
@@ -473,10 +470,7 @@ public class RecursionUtils {
return true;
}
final PsiCodeBlock finallyBlock = tryStatement.getFinallyBlock();
- if (codeBlockMustRecurse(finallyBlock, method)) {
- return true;
- }
- return false;
+ return codeBlockMustRecurse(finallyBlock, method);
}
private static boolean codeBlockMustRecurse(PsiCodeBlock block, PsiMethod method) {
@@ -528,10 +522,7 @@ public class RecursionUtils {
private static boolean foreachStatementMustRecurse(PsiForeachStatement foreachStatement, PsiMethod method) {
final PsiExpression iteration = foreachStatement.getIteratedValue();
- if (expressionMustRecurse(iteration, method)) {
- return true;
- }
- return false;
+ return expressionMustRecurse(iteration, method);
}
private static boolean whileStatementMustRecurse(PsiWhileStatement whileStatement, PsiMethod method) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
index c3e2dbe46536..d65239f93d29 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SerializationUtils.java
@@ -86,10 +86,7 @@ public class SerializationUtils{
return false;
}
final PsiType returnType = method.getReturnType();
- if(!TypeUtils.typeEquals("void", returnType)){
- return false;
- }
- return true;
+ return TypeUtils.typeEquals("void", returnType);
}
public static boolean isWriteObject(PsiMethod method){
@@ -107,10 +104,7 @@ public class SerializationUtils{
return false;
}
final PsiType returnType = method.getReturnType();
- if(!TypeUtils.typeEquals("void", returnType)){
- return false;
- }
- return true;
+ return TypeUtils.typeEquals("void", returnType);
}
public static boolean isReadResolve(PsiMethod method){
@@ -124,10 +118,7 @@ public class SerializationUtils{
return false;
}
final PsiType returnType = method.getReturnType();
- if(!TypeUtils.isJavaLangObject(returnType)){
- return false;
- }
- return true;
+ return TypeUtils.isJavaLangObject(returnType);
}
public static boolean isWriteReplace(PsiMethod method){
@@ -141,10 +132,7 @@ public class SerializationUtils{
return false;
}
final PsiType returnType = method.getReturnType();
- if(!TypeUtils.isJavaLangObject(returnType)){
- return false;
- }
- return true;
+ return TypeUtils.isJavaLangObject(returnType);
}
public static boolean typeIsSerializable(PsiType type){
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SingletonUtil.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SingletonUtil.java
index 2767bbd7a6b6..a7379f408da4 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SingletonUtil.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/SingletonUtil.java
@@ -17,10 +17,7 @@ public class SingletonUtil {
if (hasVisibleConstructor(aClass)) {
return false;
}
- if (!containsOneStaticSelfInstance(aClass)) {
- return false;
- }
- return true;
+ return containsOneStaticSelfInstance(aClass);
}
private static boolean containsOneStaticSelfInstance(PsiClass aClass) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
index 0844485ea58b..982b818dbc43 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/TypeUtils.java
@@ -47,7 +47,7 @@ public class TypeUtils {
return typeInherits(type, typeName);
}
- private static boolean typeInherits(final PsiType type, String typeName) {
+ private static boolean typeInherits(PsiType type, String typeName) {
final String text = type.getCanonicalText();
if(typeName.equals(text))
{
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/UtilityClassUtil.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/UtilityClassUtil.java
index 2cf0e90f82db..88f852725328 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/UtilityClassUtil.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/UtilityClassUtil.java
@@ -22,10 +22,8 @@ public class UtilityClassUtil {
if (!allFieldsStatic(aClass)) {
return false;
}
- if (aClass.getMethods().length == 0 && aClass.getFields().length == 0) {
- return false;
- }
- return true;
+ return !(aClass.getMethods().length == 0 &&
+ aClass.getFields().length == 0);
}
private static boolean allFieldsStatic(PsiClass aClass) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WellFormednessUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WellFormednessUtils.java
index 391c62a182b8..638237d239cc 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WellFormednessUtils.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/WellFormednessUtils.java
@@ -23,11 +23,7 @@ public class WellFormednessUtils{
return false;
}
final PsiJavaToken operationSign = expression.getOperationSign();
- if(operationSign == null)
- {
- return false;
- }
- return true;
+ return operationSign != null;
}
public static boolean isWellFormed(PsiAssignmentExpression expression){
@@ -40,9 +36,6 @@ public class WellFormednessUtils{
return false;
}
final PsiJavaToken operationSign = expression.getOperationSign();
- if(operationSign == null){
- return false;
- }
- return true;
+ return operationSign != null;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java
index 85f80317838a..7df85a1044fd 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java
@@ -154,7 +154,7 @@ public class IOResourceInspection extends ExpressionInspection{
return;
}
final PsiElement referent =
- ((PsiReferenceExpression) qualifier).resolve();
+ ((PsiReference) qualifier).resolve();
if(referent.equals(streamToClose)){
containsStreamClose = true;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/JDBCResourceInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/JDBCResourceInspection.java
index f2d9ecd5d8a9..b5ce026073df 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/JDBCResourceInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/JDBCResourceInspection.java
@@ -144,7 +144,7 @@ public class JDBCResourceInspection extends ExpressionInspection {
return;
}
final PsiElement referent =
- ((PsiReferenceExpression) qualifier).resolve();
+ ((PsiReference) qualifier).resolve();
if(referent == null){
return;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnnecessarilyQualifiedStaticUsageInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnnecessarilyQualifiedStaticUsageInspection.java
index 554aa3575d8c..908779bcfa06 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnnecessarilyQualifiedStaticUsageInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnnecessarilyQualifiedStaticUsageInspection.java
@@ -170,10 +170,7 @@ public class UnnecessarilyQualifiedStaticUsageInspection extends ExpressionInspe
containingMethod =
(PsiMethod) PsiTreeUtil.getParentOfType(containingMethod, PsiMethod.class);
}
- if (!qualifierElement.equals(containingClass)) {
- return false;
- }
- return true;
+ return qualifierElement.equals(containingClass);
}
private boolean isUnnecessarilyQualifiedMethodCall(PsiReferenceExpression expression) {
@@ -189,7 +186,7 @@ public class UnnecessarilyQualifiedStaticUsageInspection extends ExpressionInspe
if (!(qualifierExpression instanceof PsiJavaCodeReferenceElement)) {
return false;
}
- final PsiElement qualifierElement = ((PsiJavaCodeReferenceElement) qualifierExpression).resolve();
+ final PsiElement qualifierElement = ((PsiReference) qualifierExpression).resolve();
if (!(qualifierElement instanceof PsiClass)) {
return false;
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/IconHelper.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/IconHelper.java
new file mode 100644
index 000000000000..91547544ebc1
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/IconHelper.java
@@ -0,0 +1,16 @@
+package com.siyeh.ig.telemetry;
+
+import javax.swing.*;
+import java.net.URL;
+
+public class IconHelper{
+ private IconHelper(){
+ super();
+ }
+
+ public static ImageIcon getIcon(String location){
+ final Class thisClass = IconHelper.class;
+ final URL resource = thisClass.getResource(location);
+ return new ImageIcon(resource);
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/InspectionGadgetsTelemetry.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/InspectionGadgetsTelemetry.java
new file mode 100644
index 000000000000..cad4ab129f5a
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/InspectionGadgetsTelemetry.java
@@ -0,0 +1,91 @@
+package com.siyeh.ig.telemetry;
+
+import com.siyeh.ig.InspectionRunListener;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.Arrays;
+
+public class InspectionGadgetsTelemetry implements InspectionRunListener{
+ private final Map totalRunCount = new HashMap(400);
+ private final Map totalRunTime = new HashMap(400);
+ private final Object lock = new Object();
+
+ public void reportRun(String inspectionID, long runTime)
+ {
+ synchronized(lock)
+ {
+ final Integer count = (Integer) totalRunCount.get(inspectionID);
+ if(count == null){
+ totalRunCount.put(inspectionID, new Integer(1));
+ } else{
+ totalRunCount.put(inspectionID,
+ new Integer(count.intValue() + 1));
+ }
+ final Long runTimeSoFar = (Long) totalRunTime.get(inspectionID);
+ if(runTimeSoFar == null){
+ totalRunTime.put(inspectionID, new Long(runTime));
+ } else{
+ totalRunTime.put(inspectionID,
+ new Long(runTimeSoFar.intValue() + runTime));
+ }
+ }
+ }
+
+ public void reset()
+ {
+ synchronized(lock){
+ totalRunCount.clear();
+ totalRunTime.clear();
+ }
+ }
+
+ public long getRunTimeForInspection(String inspectionID)
+ {
+ synchronized(lock){
+ final Long runTime = (Long) totalRunTime.get(inspectionID);
+ if(runTime == null)
+ {
+ return 0L;
+ }
+ return runTime.longValue();
+ }
+ }
+
+ public int getRunCountForInspection(String inspectionID)
+ {
+ synchronized(lock){
+ final Integer runCount = (Integer) totalRunCount.get(inspectionID);
+ if(runCount == null)
+ {
+ return 0;
+ }
+ return runCount.intValue();
+ }
+ }
+
+ public String[] getInspections()
+ {
+ synchronized(lock)
+ {
+ final Set inspections = totalRunCount.keySet();
+ final int numInspections = inspections.size();
+ final String[] inspectionArray = (String[]) inspections.toArray(new String[numInspections]);
+ Arrays.sort(inspectionArray);
+ return inspectionArray;
+ }
+ }
+
+ public double getAverageRunTimeForInspection(String inspectionID){
+ synchronized(lock){
+ final Integer runCount = (Integer) totalRunCount.get(inspectionID);
+ if(runCount == null){
+ return 0.0;
+ }
+ final Long runTime = (Long) totalRunTime.get(inspectionID);
+
+ return (double) runTime.longValue() / (double) runCount.intValue();
+ }
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/ResetTelemetryAction.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/ResetTelemetryAction.java
new file mode 100644
index 000000000000..98fc3e56abda
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/ResetTelemetryAction.java
@@ -0,0 +1,25 @@
+package com.siyeh.ig.telemetry;
+
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+
+import javax.swing.*;
+
+public class ResetTelemetryAction extends AnAction{
+ private final InspectionGadgetsTelemetry telemetry;
+ private final TelemetryDisplay display;
+
+ private static final Icon resetIcon =
+ IconHelper.getIcon("/actions/reset.png");
+ public ResetTelemetryAction(InspectionGadgetsTelemetry telemetry,
+ TelemetryDisplay display){
+ super("Reset" , "Reset telemetry data", resetIcon);
+ this.telemetry = telemetry;
+ this.display = display;
+ }
+
+ public void actionPerformed(AnActionEvent event){
+ telemetry.reset();
+ display.update();
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplay.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplay.java
new file mode 100644
index 000000000000..14762d54407f
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplay.java
@@ -0,0 +1,12 @@
+package com.siyeh.ig.telemetry;
+
+import javax.swing.*;
+
+
+public interface TelemetryDisplay{
+
+ JComponent getContentPane();
+
+ void update();
+
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.form b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.form
new file mode 100644
index 000000000000..50d78303b870
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.form
@@ -0,0 +1,21 @@
+
+
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.java
new file mode 100644
index 000000000000..6893e682995f
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryDisplayImpl.java
@@ -0,0 +1,28 @@
+package com.siyeh.ig.telemetry;
+
+import javax.swing.*;
+import javax.swing.event.TableModelEvent;
+
+public class TelemetryDisplayImpl implements TelemetryDisplay{
+ private JTable table;
+ private JScrollPane scrollPane;
+ private final TelemetryTableModel model;
+
+ public TelemetryDisplayImpl(InspectionGadgetsTelemetry telemetry){
+ super();
+ model = new TelemetryTableModel(telemetry);
+ table.setModel(model);
+ }
+
+ public JComponent getContentPane(){
+ return scrollPane;
+ }
+
+ public void update(){
+ table.tableChanged(new TableModelEvent(model,
+ TableModelEvent.HEADER_ROW));
+ table.tableChanged(new TableModelEvent(model));
+ table.repaint();
+ }
+
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryTableModel.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryTableModel.java
new file mode 100644
index 000000000000..e07d9ab59134
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryTableModel.java
@@ -0,0 +1,71 @@
+package com.siyeh.ig.telemetry;
+
+import javax.swing.table.DefaultTableModel;
+import java.text.NumberFormat;
+
+public class TelemetryTableModel extends DefaultTableModel{
+ private final InspectionGadgetsTelemetry telemetry;
+ private NumberFormat format = NumberFormat.getNumberInstance();
+ {
+ format.setMaximumFractionDigits(2);
+ format.setMinimumFractionDigits(2);
+ }
+
+ public TelemetryTableModel(InspectionGadgetsTelemetry telemetry){
+ super();
+ this.telemetry = telemetry;
+ }
+
+ public int getColumnCount(){
+ return 4;
+ }
+
+ public int getRowCount(){
+ if(telemetry== null)
+ {
+ return 0;
+ }
+ return telemetry.getInspections().length;
+ }
+
+ public Object getValueAt(int row, int column){
+ if(telemetry == null)
+ {
+ return null;
+ }
+ final String[] inspections = telemetry.getInspections();
+ final String inspection = inspections[row];
+ switch(column){
+ case 0:
+ return inspection;
+ case 1:
+ return Long.toString(telemetry.getRunTimeForInspection(inspection));
+ case 2:
+ return format.format(telemetry.getAverageRunTimeForInspection(inspection));
+ case 3:
+ return Integer.toString(telemetry.getRunCountForInspection(inspection));
+ default:
+ return null;
+ }
+ }
+
+ public void setValueAt(Object object, int i,
+ int i1){
+ //don't do anything
+ }
+
+ public String getColumnName(int column){
+ switch(column){
+ case 0:
+ return "Inspection Name";
+ case 1:
+ return "Total Run Time (msecs)";
+ case 2:
+ return "Average Run Time (msecs)";
+ case 3:
+ return "Total Run Count";
+ default:
+ return null;
+ }
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindow.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindow.java
new file mode 100644
index 000000000000..06f595bcea51
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindow.java
@@ -0,0 +1,14 @@
+package com.siyeh.ig.telemetry;
+
+
+public interface TelemetryToolWindow{
+ String CYCLE_TOOL_WINDOW_ID = "IG Telemetry";
+
+ void register();
+
+ void show();
+
+ void close();
+
+ void unregister();
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindowImpl.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindowImpl.java
new file mode 100644
index 000000000000..fbc4eebde6cd
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/TelemetryToolWindowImpl.java
@@ -0,0 +1,74 @@
+package com.siyeh.ig.telemetry;
+
+import com.intellij.openapi.actionSystem.ActionManager;
+import com.intellij.openapi.actionSystem.ActionToolbar;
+import com.intellij.openapi.actionSystem.DefaultActionGroup;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.wm.ToolWindow;
+import com.intellij.openapi.wm.ToolWindowAnchor;
+import com.intellij.openapi.wm.ToolWindowManager;
+import com.siyeh.ig.InspectionGadgetsPlugin;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class TelemetryToolWindowImpl implements TelemetryToolWindow{
+ private TelemetryDisplay telemetryDisplay;
+ private JPanel myContentPanel;
+ private ToolWindow myToolWindow = null;
+ private Project project;
+
+ public TelemetryToolWindowImpl(Project project){
+ super();
+ this.project = project;
+ final Application application = ApplicationManager.getApplication();
+ final InspectionGadgetsPlugin plugin =
+ (InspectionGadgetsPlugin) application.getComponent("InspectionGadgets");
+ final InspectionGadgetsTelemetry telemetry = plugin.getTelemetry();
+ telemetryDisplay = new TelemetryDisplayImpl(telemetry);
+ final DefaultActionGroup toolbarGroup = new DefaultActionGroup();
+ toolbarGroup.add(new UpdateTelemetryViewAction(telemetryDisplay));
+ toolbarGroup.add(new ResetTelemetryAction(telemetry, telemetryDisplay));
+ final ActionManager actionManager = ActionManager.getInstance();
+ final ActionToolbar toolbar =
+ actionManager.createActionToolbar(CYCLE_TOOL_WINDOW_ID,
+ toolbarGroup, true);
+ myContentPanel = new JPanel(new BorderLayout());
+ myContentPanel.setBackground(Color.gray);
+ final JComponent toolbarComponent = toolbar.getComponent();
+ myContentPanel.add(toolbarComponent, BorderLayout.NORTH);
+ final JComponent displayContentPane = telemetryDisplay.getContentPane();
+ myContentPanel.add(displayContentPane, BorderLayout.CENTER);
+ }
+
+ public void register(){
+ final ToolWindowManager toolWindowManager =
+ ToolWindowManager.getInstance(project);
+ myToolWindow =
+ toolWindowManager.registerToolWindow(CYCLE_TOOL_WINDOW_ID,
+ myContentPanel,
+ ToolWindowAnchor.BOTTOM);
+ myToolWindow.setTitle("IG Telemetry");
+ myToolWindow.setAvailable(true, null);
+ }
+
+ public void show(){
+ myToolWindow.setAvailable(true, null);
+ telemetryDisplay.update();
+ myToolWindow.show(null);
+ }
+
+ public void close(){
+ myToolWindow.hide(null);
+ myToolWindow.setAvailable(false, null);
+ }
+
+
+ public void unregister(){
+ final ToolWindowManager toolWindowManager =
+ ToolWindowManager.getInstance(project);
+ toolWindowManager.unregisterToolWindow(CYCLE_TOOL_WINDOW_ID);
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/UpdateTelemetryViewAction.java b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/UpdateTelemetryViewAction.java
new file mode 100644
index 000000000000..b363f5567448
--- /dev/null
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/telemetry/UpdateTelemetryViewAction.java
@@ -0,0 +1,22 @@
+package com.siyeh.ig.telemetry;
+
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+
+import javax.swing.*;
+
+public class UpdateTelemetryViewAction extends AnAction{
+ private final TelemetryDisplay telemetryDisplay;
+
+ private static final Icon refreshIcon =
+ IconHelper.getIcon("/actions/sync.png");
+
+ public UpdateTelemetryViewAction(TelemetryDisplay telemetryDisplay){
+ super("Refresh", "Refresh telemetry display", refreshIcon);
+ this.telemetryDisplay = telemetryDisplay;
+ }
+
+ public void actionPerformed(AnActionEvent event){
+ telemetryDisplay.update();
+ }
+}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/WhileLoopSpinsOnFieldInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/WhileLoopSpinsOnFieldInspection.java
index 7fc7f2daeab7..2c14c041f98f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/threading/WhileLoopSpinsOnFieldInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/threading/WhileLoopSpinsOnFieldInspection.java
@@ -71,7 +71,8 @@ public class WhileLoopSpinsOnFieldInspection extends MethodInspection {
(PsiBinaryExpression) condition;
final PsiExpression lOperand = binaryExpression.getLOperand();
final PsiExpression rOperand = binaryExpression.getROperand();
- return (isSimpleFieldComparison(lOperand) && isLiteral(rOperand)) ||
+ return isSimpleFieldComparison(lOperand) &&
+ isLiteral(rOperand) ||
(isSimpleFieldComparison(rOperand) && isLiteral(lOperand));
}
return false;
@@ -106,10 +107,7 @@ public class WhileLoopSpinsOnFieldInspection extends MethodInspection {
return false;
}
final PsiField field = (PsiField) referent;
- if (field.hasModifierProperty(PsiModifier.VOLATILE)) {
- return false;
- }
- return true;
+ return !field.hasModifierProperty(PsiModifier.VOLATILE);
}
private boolean statementIsEmpty(PsiStatement statement) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/ForCanBeForeachInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/ForCanBeForeachInspection.java
index 43d5c7d92366..6c2c05832564 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/ForCanBeForeachInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/ForCanBeForeachInspection.java
@@ -267,10 +267,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
if (arrayExpression == null) {
return false;
}
- if (!arrayName.equals(arrayExpression.getText())) {
- return false;
- }
- return true;
+ return arrayName.equals(arrayExpression.getText());
}
private boolean isIteratorNext(PsiElement element, String iteratorNameName) {
@@ -302,10 +299,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
return false;
}
final String referenceName = reference.getReferenceName();
- if (!"next".equals(referenceName)) {
- return false;
- }
- return true;
+ return "next".equals(referenceName);
}
private String createNewVarName(Project project, PsiForStatement scope, PsiType type) {
@@ -391,10 +385,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
if (!indexVarOnlyUsedAsIndex(arrayName, indexVar, body)) {
return false;
}
- if (isArrayAssigned(arrayName, body)) {
- return false;
- }
- return true;
+ return !isArrayAssigned(arrayName, body);
}
private static boolean isArrayAssigned(String arrayReference, PsiStatement body) {
@@ -455,10 +446,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
if (isIteratorRemoveCalled(iteratorName, body)) {
return false;
}
- if (isIteratorAssigned(iteratorName, body)) {
- return false;
- }
- return true;
+ return !isIteratorAssigned(iteratorName, body);
}
private static int calculateCallsToIteratorNext(String iteratorName, PsiStatement body) {
@@ -505,10 +493,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
return true;
}
final String target = qualifier.getText();
- if (!iterator.equals(target)) {
- return false;
- }
- return true;
+ return iterator.equals(target);
}
private static PsiReferenceExpression getArrayFromCondition(PsiExpression condition) {
@@ -537,10 +522,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
return false;
}
final PsiExpression operand = prefixExp.getOperand();
- if (!expressionIsVariableLookup(operand, var)) {
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
} else if (exp instanceof PsiPostfixExpression) {
final PsiPostfixExpression postfixExp = (PsiPostfixExpression) exp;
final PsiJavaToken sign = postfixExp.getOperationSign();
@@ -552,10 +534,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
return false;
}
final PsiExpression operand = postfixExp.getOperand();
- if (!expressionIsVariableLookup(operand, var)) {
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
}
return false;
}
@@ -579,10 +558,7 @@ public class ForCanBeForeachInspection extends StatementInspection {
return false;
}
final PsiExpression rhs = binaryExp.getROperand();
- if (!expressionIsArrayLengthLookup(rhs)) {
- return false;
- }
- return true;
+ return expressionIsArrayLengthLookup(rhs);
}
private static boolean expressionIsArrayLengthLookup(PsiExpression expression) {
@@ -773,7 +749,6 @@ public class ForCanBeForeachInspection extends StatementInspection {
final PsiExpression lhs = assignment.getLExpression();
if (lhs.equals(arrayAccess)) {
indexVariableUsedOnlyAsIndex = false;
- return;
}
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/PointlessBitwiseExpressionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/PointlessBitwiseExpressionInspection.java
index 8a60c767aac1..c534db65d443 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/PointlessBitwiseExpressionInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/PointlessBitwiseExpressionInspection.java
@@ -185,10 +185,7 @@ public class PointlessBitwiseExpressionInspection extends ExpressionInspection {
if (value instanceof Character && ((Character) value).charValue() == 0) {
return true;
}
- if (value instanceof Byte && ((Byte) value).byteValue() == 0) {
- return true;
- }
- return false;
+ return value instanceof Byte && ((Byte) value).byteValue() == 0;
}
private static boolean isAllOnes(PsiExpression expression, PsiType expressionType) {
@@ -208,10 +205,8 @@ public class PointlessBitwiseExpressionInspection extends ExpressionInspection {
if (value instanceof Character && ((Character) value).charValue() == (char) 0xffff) {
return true;
}
- if (value instanceof Byte && ((Byte) value).byteValue() == (byte) 0xff) {
- return true;
- }
- return false;
+ return value instanceof Byte &&
+ ((Byte) value).byteValue() == (byte) 0xff;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/TrivialIfInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/TrivialIfInspection.java
index 8a4d53fd62c2..29a7e5b7619f 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/TrivialIfInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/TrivialIfInspection.java
@@ -76,7 +76,7 @@ public class TrivialIfInspection extends ExpressionInspection{
return fix;
}
- private class TrivialIfFix extends InspectionGadgetsFix{
+ private static class TrivialIfFix extends InspectionGadgetsFix{
public String getName(){
return "Simplify";
}
@@ -313,11 +313,8 @@ public class TrivialIfInspection extends ExpressionInspection{
}
final PsiStatement elseBranch = (PsiStatement) nextStatement;
- if(ConditionalUtils.isReturn(thenBranch, "true")
- && ConditionalUtils.isReturn(elseBranch, "false")){
- return true;
- }
- return false;
+ return ConditionalUtils.isReturn(thenBranch, "true")
+ && ConditionalUtils.isReturn(elseBranch, "false");
}
public static boolean isSimplifiableImplicitReturnNegated(PsiIfStatement ifStatement){
@@ -334,11 +331,8 @@ public class TrivialIfInspection extends ExpressionInspection{
return false;
}
final PsiStatement elseBranch = (PsiStatement) nextStatement;
- if(ConditionalUtils.isReturn(thenBranch, "false")
- && ConditionalUtils.isReturn(elseBranch, "true")){
- return true;
- }
- return false;
+ return ConditionalUtils.isReturn(thenBranch, "false")
+ && ConditionalUtils.isReturn(elseBranch, "true");
}
public static boolean isSimplifiableReturn(PsiIfStatement ifStatement){
@@ -346,11 +340,8 @@ public class TrivialIfInspection extends ExpressionInspection{
thenBranch = ConditionalUtils.stripBraces(thenBranch);
PsiStatement elseBranch = ifStatement.getElseBranch();
elseBranch = ConditionalUtils.stripBraces(elseBranch);
- if(ConditionalUtils.isReturn(thenBranch, "true")
- && ConditionalUtils.isReturn(elseBranch, "false")){
- return true;
- }
- return false;
+ return ConditionalUtils.isReturn(thenBranch, "true")
+ && ConditionalUtils.isReturn(elseBranch, "false");
}
public static boolean isSimplifiableReturnNegated(PsiIfStatement ifStatement){
@@ -358,11 +349,8 @@ public class TrivialIfInspection extends ExpressionInspection{
thenBranch = ConditionalUtils.stripBraces(thenBranch);
PsiStatement elseBranch = ifStatement.getElseBranch();
elseBranch = ConditionalUtils.stripBraces(elseBranch);
- if(ConditionalUtils.isReturn(thenBranch, "false")
- && ConditionalUtils.isReturn(elseBranch, "true")){
- return true;
- }
- return false;
+ return ConditionalUtils.isReturn(thenBranch, "false")
+ && ConditionalUtils.isReturn(elseBranch, "true");
}
public static boolean isSimplifiableAssignment(PsiIfStatement ifStatement){
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java
index c67c4a3107a5..d183bdb0a617 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java
@@ -100,7 +100,7 @@ public class UnnecessaryBlockStatementInspection extends StatementInspection{
if(brace == null){
return;
}
- final PsiCodeBlock parentBlock = ((PsiCodeBlock) parent);
+ final PsiCodeBlock parentBlock = (PsiCodeBlock) parent;
if(parentBlock.getStatements().length > 1 &&
containsConflictingDeclarations(codeBlock, parentBlock)){
return;
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryInterfaceModifierInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryInterfaceModifierInspection.java
index 01903d7b9f2f..d757fa684dc1 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryInterfaceModifierInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryInterfaceModifierInspection.java
@@ -22,9 +22,9 @@ public class UnnecessaryInterfaceModifierInspection extends BaseInspection {
return GroupNames.VERBOSE_GROUP_NAME;
}
- public ProblemDescriptor[] checkClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckClass(PsiClass aClass, InspectionManager mgr, boolean isOnTheFly) {
if (!aClass.isPhysical()) {
- return super.checkClass(aClass, mgr, isOnTheFly);
+ return super.doCheckClass(aClass, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
aClass.accept(visitor);
@@ -32,18 +32,18 @@ public class UnnecessaryInterfaceModifierInspection extends BaseInspection {
return visitor.getErrors();
}
- public ProblemDescriptor[] checkMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckMethod(PsiMethod method, InspectionManager mgr, boolean isOnTheFly) {
if (!method.isPhysical()) {
- return super.checkMethod(method, mgr, isOnTheFly);
+ return super.doCheckMethod(method, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
method.accept(visitor);
return visitor.getErrors();
}
- public ProblemDescriptor[] checkField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
+ public ProblemDescriptor[] doCheckField(PsiField field, InspectionManager mgr, boolean isOnTheFly) {
if (!field.isPhysical()) {
- return super.checkField(field, mgr, isOnTheFly);
+ return super.doCheckField(field, mgr, isOnTheFly);
}
final BaseInspectionVisitor visitor = createVisitor(mgr, isOnTheFly);
field.accept(visitor);
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryLocalVariableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryLocalVariableInspection.java
index ca8017599dda..65436894f993 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryLocalVariableInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryLocalVariableInspection.java
@@ -135,10 +135,7 @@ public class UnnecessaryLocalVariableInspection extends StatementInspection {
return false;
}
final PsiElement referent = ((PsiReference) returnValue).resolve();
- if (referent == null || !referent.equals(variable)) {
- return false;
- }
- return true;
+ return !(referent == null || !referent.equals(variable));
}
private static boolean isImmediatelyThrown(PsiVariable variable) {
@@ -174,10 +171,7 @@ public class UnnecessaryLocalVariableInspection extends StatementInspection {
return false;
}
final PsiElement referent = ((PsiReference) returnValue).resolve();
- if (referent == null || !referent.equals(variable)) {
- return false;
- }
- return true;
+ return !(referent == null || !referent.equals(variable));
}
private static boolean isImmediatelyAssigned(PsiVariable variable) {
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/WhileCanBeForeachInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/WhileCanBeForeachInspection.java
index 90ee9fba5345..69bedc437f1a 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/WhileCanBeForeachInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/WhileCanBeForeachInspection.java
@@ -219,10 +219,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
return false;
}
final String referenceName = reference.getReferenceName();
- if(!"next".equals(referenceName)){
- return false;
- }
- return true;
+ return "next".equals(referenceName);
}
private String createNewVarName(Project project, PsiWhileStatement scope,
@@ -253,7 +250,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
}
}
- private class WhileBeForeachVisitor extends BaseInspectionVisitor{
+ private static class WhileBeForeachVisitor extends BaseInspectionVisitor{
private WhileBeForeachVisitor(BaseInspection inspection,
InspectionManager inspectionManager,
boolean isOnTheFly){
@@ -341,10 +338,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
if(isIteratorRemoveCalled(iteratorName, body)){
return false;
}
- if(isIteratorAssigned(iteratorName, body)){
- return false;
- }
- return true;
+ return !isIteratorAssigned(iteratorName, body);
}
private static PsiStatement getPreviousStatement(PsiWhileStatement statement){
@@ -410,10 +404,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
return true;
}
final String target = qualifier.getText();
- if(!iterator.equals(target)){
- return false;
- }
- return true;
+ return iterator.equals(target);
}
private static PsiReferenceExpression getArrayFromCondition(PsiExpression condition){
@@ -446,10 +437,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
return false;
}
final PsiExpression operand = prefixExp.getOperand();
- if(!expressionIsVariableLookup(operand, var)){
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
} else if(exp instanceof PsiPostfixExpression){
final PsiPostfixExpression postfixExp = (PsiPostfixExpression) exp;
final PsiJavaToken sign = postfixExp.getOperationSign();
@@ -461,10 +449,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
return false;
}
final PsiExpression operand = postfixExp.getOperand();
- if(!expressionIsVariableLookup(operand, var)){
- return false;
- }
- return true;
+ return expressionIsVariableLookup(operand, var);
}
return false;
}
@@ -491,10 +476,7 @@ public class WhileCanBeForeachInspection extends StatementInspection{
return false;
}
final PsiExpression rhs = binaryExp.getROperand();
- if(!expressionIsArrayLengthLookup(rhs)){
- return false;
- }
- return true;
+ return expressionIsArrayLengthLookup(rhs);
}
private static boolean expressionIsArrayLengthLookup(PsiExpression expression){
@@ -699,7 +681,6 @@ public class WhileCanBeForeachInspection extends StatementInspection{
final PsiExpression lhs = assignment.getLExpression();
if(lhs.equals(arrayAccess)){
indexVariableUsedOnlyAsIndex = false;
- return;
}
}
}
diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/DuplicateCondition.html b/plugins/InspectionGadgets/src/inspectionDescriptions/DuplicateCondition.html
new file mode 100644
index 000000000000..6b97220c0a6d
--- /dev/null
+++ b/plugins/InspectionGadgets/src/inspectionDescriptions/DuplicateCondition.html
@@ -0,0 +1,8 @@
+
+ |
+
+This inspection reports on any duplicate conditions among different branches of an
+ if statement. While it may rarely be the
+ desired semantics, duplicate conditions usually represent programmer oversight.
+ |
| Powered by InspectionGadgets |
+
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/DuplicateCondition.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/DuplicateCondition.java
new file mode 100644
index 000000000000..dc64309ebca6
--- /dev/null
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/DuplicateCondition.java
@@ -0,0 +1,19 @@
+package com.siyeh.igtest.bugs;
+
+public class DuplicateCondition {
+ public void foo()
+ {
+ if(bar())
+ {
+ System.out.println("1");
+ }else if(bar()|| true)
+ {
+ System.out.println("2");
+ }
+ }
+
+ public boolean bar()
+ {
+ return true;
+ }
+}