diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/DeclarationOrderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/DeclarationOrderCheck.java index dc95860ad..767b78933 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/DeclarationOrderCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/DeclarationOrderCheck.java @@ -217,18 +217,7 @@ public class DeclarationOrderCheck extends Check { private void processModifiers(DetailAST ast) { final ScopeState state = scopeStates.peek(); - if (ast.findFirstToken(TokenTypes.LITERAL_STATIC) != null) { - if (state.currentScopeState > STATE_STATIC_VARIABLE_DEF) { - if (!ignoreModifiers - || state.currentScopeState > STATE_INSTANCE_VARIABLE_DEF) { - log(ast, MSG_STATIC); - } - } - else { - state.currentScopeState = STATE_STATIC_VARIABLE_DEF; - } - } - else { + if (ast.findFirstToken(TokenTypes.LITERAL_STATIC) == null) { if (state.currentScopeState > STATE_INSTANCE_VARIABLE_DEF) { log(ast, MSG_INSTANCE); } @@ -237,6 +226,17 @@ public class DeclarationOrderCheck extends Check { state.currentScopeState = STATE_INSTANCE_VARIABLE_DEF; } } + else { + if (state.currentScopeState > STATE_STATIC_VARIABLE_DEF) { + if (!ignoreModifiers + || state.currentScopeState > STATE_INSTANCE_VARIABLE_DEF) { + log(ast, MSG_STATIC); + } + } + else { + state.currentScopeState = STATE_STATIC_VARIABLE_DEF; + } + } final Scope access = ScopeUtils.getScopeFromMods(ast); if (state.declarationAccess.compareTo(access) > 0) { diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/EqualsAvoidNullCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/EqualsAvoidNullCheck.java index 910ffe740..bd40a012f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/EqualsAvoidNullCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/EqualsAvoidNullCheck.java @@ -379,7 +379,20 @@ public class EqualsAvoidNullCheck extends Check { boolean result = false; final DetailAST previousSiblingAst = objCalledOn.getPreviousSibling(); final String name = objCalledOn.getText(); - if (previousSiblingAst != null) { + if (previousSiblingAst == null) { + FieldFrame frame = currentFrame; + while (frame != null) { + final DetailAST field = frame.findField(name); + if (field != null + && (frame.isClassOrEnumOrEnumConstDef() + || checkLineNo(field, objCalledOn))) { + result = STRING.equals(getFieldType(field)); + break; + } + frame = frame.getParent(); + } + } + else { if (previousSiblingAst.getType() == TokenTypes.LITERAL_THIS) { final DetailAST field = getObjectFrame(currentFrame).findField(name); result = STRING.equals(getFieldType(field)); @@ -397,19 +410,6 @@ public class EqualsAvoidNullCheck extends Check { } } } - else { - FieldFrame frame = currentFrame; - while (frame != null) { - final DetailAST field = frame.findField(name); - if (field != null - && (frame.isClassOrEnumOrEnumConstDef() - || checkLineNo(field, objCalledOn))) { - result = STRING.equals(getFieldType(field)); - break; - } - frame = frame.getParent(); - } - } return result; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ModifiedControlVariableCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ModifiedControlVariableCheck.java index 5a3de9e9a..014ce4cd1 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ModifiedControlVariableCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ModifiedControlVariableCheck.java @@ -322,14 +322,14 @@ public final class ModifiedControlVariableCheck extends Check { */ private void leaveForDef(DetailAST ast) { final DetailAST forInitAST = ast.findFirstToken(TokenTypes.FOR_INIT); - if (forInitAST != null) { - final Set variablesManagedByForLoop = getVariablesManagedByForLoop(ast); - popCurrentVariables(variablesManagedByForLoop.size()); - } - else { + if (forInitAST == null) { // this is for-each loop, just pop variables getCurrentVariables().pop(); } + else { + final Set variablesManagedByForLoop = getVariablesManagedByForLoop(ast); + popCurrentVariables(variablesManagedByForLoop.size()); + } } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java index 619c6ef7f..97afbd37f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java @@ -93,12 +93,11 @@ public class MultipleStringLiteralsCheck extends Check { * if unable to create Pattern object */ public final void setIgnoreStringsRegexp(String ignoreStringsRegexp) { - if (ignoreStringsRegexp != null - && !ignoreStringsRegexp.isEmpty()) { - pattern = CommonUtils.createPattern(ignoreStringsRegexp); + if (ignoreStringsRegexp == null || ignoreStringsRegexp.isEmpty()) { + pattern = null; } else { - pattern = null; + pattern = CommonUtils.createPattern(ignoreStringsRegexp); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java index db81daedf..7ee458aa8 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java @@ -169,13 +169,13 @@ public final class OneStatementPerLineCheck extends Check { */ private static boolean isMultilineStatement(DetailAST ast) { final boolean multiline; - if (ast.getPreviousSibling() != null) { - final DetailAST prevSibling = ast.getPreviousSibling(); - multiline = prevSibling.getLineNo() != ast.getLineNo() - && ast.getParent() != null; + if (ast.getPreviousSibling() == null) { + multiline = false; } else { - multiline = false; + final DetailAST prevSibling = ast.getPreviousSibling(); + multiline = prevSibling.getLineNo() != ast.getLineNo() + && ast.getParent() != null; } return multiline; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java index d55d6320b..32dffcdf1 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java @@ -505,11 +505,11 @@ public class VariableDeclarationUsageDistanceCheck extends Check { exprWithVariableUsage = blockWithVariableUsage.getFirstChild(); } currentScopeAst = exprWithVariableUsage; - if (exprWithVariableUsage != null) { - variableUsageAst = exprWithVariableUsage; + if (exprWithVariableUsage == null) { + variableUsageAst = blockWithVariableUsage; } else { - variableUsageAst = blockWithVariableUsage; + variableUsageAst = exprWithVariableUsage; } } // If variable usage exists in different scopes, then distance = diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/ThrowsCountCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/ThrowsCountCheck.java index 6691dafcf..06e6e2816 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/ThrowsCountCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/ThrowsCountCheck.java @@ -164,11 +164,11 @@ public final class ThrowsCountCheck extends Check { private static String getAnnotationName(DetailAST annotation) { final DetailAST dotAst = annotation.findFirstToken(TokenTypes.DOT); String name; - if (dotAst != null) { - name = dotAst.findFirstToken(TokenTypes.IDENT).getText(); + if (dotAst == null) { + name = annotation.findFirstToken(TokenTypes.IDENT).getText(); } else { - name = annotation.findFirstToken(TokenTypes.IDENT).getText(); + name = dotAst.findFirstToken(TokenTypes.IDENT).getText(); } return name; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader.java index faf538433..01e9f2aef 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader.java @@ -110,17 +110,17 @@ final class ImportControlLoader extends AbstractLoader { final String pkg = attributes.getValue(PKG_ATTRIBUTE_NAME); final boolean regex = attributes.getValue("regex") != null; final Guard guard; - if (pkg != null) { - final boolean exactMatch = - attributes.getValue("exact-match") != null; - guard = new Guard(isAllow, isLocalOnly, pkg, exactMatch, regex); - } - else { + if (pkg == null) { // handle class names which can be normal class names or regular // expressions final String clazz = safeGet(attributes, "class"); guard = new Guard(isAllow, isLocalOnly, clazz, regex); } + else { + final boolean exactMatch = + attributes.getValue("exact-match") != null; + guard = new Guard(isAllow, isLocalOnly, pkg, exactMatch, regex); + } final PkgControl pkgControl = stack.peek(); pkgControl.addGuard(guard);