From 6ee4a0f805d528cdee03cfc175502d15b5722dab Mon Sep 17 00:00:00 2001 From: Andrei Selkin Date: Fri, 25 Dec 2015 00:27:38 +0300 Subject: [PATCH] Issue #2661: Enforce LogicConditionNeedOptimizationCheck of sevntu-checkstyle over Checkstyle source code --- config/checkstyle_sevntu_checks.xml | 1 + .../checks/SuppressWarningsHolder.java | 3 +-- .../annotation/AnnotationLocationCheck.java | 6 +++--- .../annotation/AnnotationUseStyleCheck.java | 8 ++++---- .../checks/blocks/LeftCurlyCheck.java | 4 ++-- .../checks/coding/HiddenFieldCheck.java | 10 +++++----- .../coding/OneStatementPerLineCheck.java | 4 ++-- ...VariableDeclarationUsageDistanceCheck.java | 4 ++-- .../imports/CustomImportOrderCheck.java | 2 +- .../checks/imports/ImportOrderCheck.java | 20 +++++++++---------- .../AbstractExpressionHandler.java | 5 +++-- .../indentation/CommentsIndentationCheck.java | 2 +- .../checks/indentation/SlistHandler.java | 4 ++-- .../checks/javadoc/JavadocMethodCheck.java | 11 +++++----- .../modifier/RedundantModifierCheck.java | 2 +- .../whitespace/GenericWhitespaceCheck.java | 10 +++++----- .../whitespace/WhitespaceAfterCheck.java | 6 +++--- 17 files changed, 52 insertions(+), 50 deletions(-) diff --git a/config/checkstyle_sevntu_checks.xml b/config/checkstyle_sevntu_checks.xml index abb416650..aa9239b57 100644 --- a/config/checkstyle_sevntu_checks.xml +++ b/config/checkstyle_sevntu_checks.xml @@ -137,5 +137,6 @@ ### InnerInterface(.*) ### InnerClass(.*)"/> + diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java index 3a8e0d140..68f975ad6 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java @@ -156,8 +156,7 @@ public class SuppressWarningsHolder final boolean afterStart = entry.getFirstLine() < line || entry.getFirstLine() == line - && (entry.getFirstColumn() <= column - || column == 0); + && (column == 0 || entry.getFirstColumn() <= column); final boolean beforeEnd = entry.getLastLine() > line || entry.getLastLine() == line && entry diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationLocationCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationLocationCheck.java index 1fa51f2d8..58c09d479 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationLocationCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationLocationCheck.java @@ -253,9 +253,9 @@ public class AnnotationLocationCheck extends Check { else { allowingCondition = allowSamelineSingleParameterlessAnnotation; } - return allowingCondition && !hasNodeBefore(annotation) - || !allowingCondition && !hasNodeBeside(annotation) - || allowSamelineMultipleAnnotations; + return allowSamelineMultipleAnnotations + || allowingCondition && !hasNodeBefore(annotation) + || !allowingCondition && !hasNodeBeside(annotation); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java index 204f0af0e..3c3e1e416 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java @@ -501,10 +501,10 @@ public final class AnnotationUseStyleCheck extends Check { log(ast.getLineNo(), MSG_KEY_ANNOTATION_PARENS_MISSING); } else if (closingParens == ClosingParens.NEVER - && !ast.branchContains(TokenTypes.EXPR) - && !ast.branchContains(TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) - && !ast.branchContains(TokenTypes.ANNOTATION_ARRAY_INIT) - && parenExists) { + && parenExists + && !ast.branchContains(TokenTypes.EXPR) + && !ast.branchContains(TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) + && !ast.branchContains(TokenTypes.ANNOTATION_ARRAY_INIT)) { log(ast.getLineNo(), MSG_KEY_ANNOTATION_PARENS_PRESENT); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/LeftCurlyCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/LeftCurlyCheck.java index 4ae865fe5..d9e40814c 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/LeftCurlyCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/LeftCurlyCheck.java @@ -385,8 +385,8 @@ public class LeftCurlyCheck nextToken = leftCurly.getFirstChild(); } else { - if (leftCurly.getParent().getParent().getType() == TokenTypes.ENUM_DEF - && !ignoreEnums) { + if (!ignoreEnums + && leftCurly.getParent().getParent().getType() == TokenTypes.ENUM_DEF) { nextToken = leftCurly.getNextSibling(); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java index 30814d311..0d1a12375 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java @@ -401,7 +401,7 @@ public class HiddenFieldCheck * ignoreSetter is true and ast is the parameter of a setter method. */ private boolean isIgnoredSetterParam(DetailAST ast, String name) { - if (ast.getType() == TokenTypes.PARAMETER_DEF && ignoreSetter) { + if (ignoreSetter && ast.getType() == TokenTypes.PARAMETER_DEF) { final DetailAST parametersAST = ast.getParent(); final DetailAST methodAST = parametersAST.getParent(); if (parametersAST.getChildCount() == 1 @@ -479,8 +479,8 @@ public class HiddenFieldCheck */ private boolean isIgnoredConstructorParam(DetailAST ast) { boolean result = false; - if (ast.getType() == TokenTypes.PARAMETER_DEF - && ignoreConstructorParameter) { + if (ignoreConstructorParameter + && ast.getType() == TokenTypes.PARAMETER_DEF) { final DetailAST parametersAST = ast.getParent(); final DetailAST constructorAST = parametersAST.getParent(); result = constructorAST.getType() == TokenTypes.CTOR_DEF; @@ -497,8 +497,8 @@ public class HiddenFieldCheck */ private boolean isIgnoredParamOfAbstractMethod(DetailAST ast) { boolean result = false; - if (ast.getType() == TokenTypes.PARAMETER_DEF - && ignoreAbstractMethods) { + if (ignoreAbstractMethods + && ast.getType() == TokenTypes.PARAMETER_DEF) { final DetailAST method = ast.getParent().getParent(); if (method.getType() == TokenTypes.METHOD_DEF) { final DetailAST mods = method.findFirstToken(TokenTypes.MODIFIERS); 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 c1b991179..acb3f1d13 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 @@ -123,8 +123,8 @@ public final class OneStatementPerLineCheck extends Check { if (!hasResourcesPrevSibling && isMultilineStatement(currentStatement)) { currentStatement = ast.getPreviousSibling(); } - if (isOnTheSameLine(currentStatement, lastStatementEnd, - forStatementEnd) && !inForHeader) { + if (!inForHeader + && isOnTheSameLine(currentStatement, lastStatementEnd, forStatementEnd)) { log(ast, MSG_KEY); } break; 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 1a2ef8ec6..44c660f85 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 @@ -262,8 +262,8 @@ public class VariableDeclarationUsageDistanceCheck extends Check { final int parentType = ast.getParent().getType(); final DetailAST modifiers = ast.getFirstChild(); - if (!(ignoreFinal && modifiers.branchContains(TokenTypes.FINAL) - || parentType == TokenTypes.OBJBLOCK)) { + if (!(parentType == TokenTypes.OBJBLOCK + || ignoreFinal && modifiers.branchContains(TokenTypes.FINAL))) { final DetailAST variable = ast.findFirstToken(TokenTypes.IDENT); if (!isVariableMatchesIgnorePattern(variable.getText())) { diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java index 98685aac2..fa3bc914f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java @@ -785,7 +785,7 @@ public class CustomImportOrderCheck extends Check { final StringTokenizer tokens = new StringTokenizer(packageFullPath, "."); int count = firstPackageDomainsCount; - while (tokens.hasMoreTokens() && count > 0) { + while (count > 0 && tokens.hasMoreTokens()) { builder.append(tokens.nextToken()).append('.'); count--; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheck.java index 363663b09..8e670a78e 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheck.java @@ -417,8 +417,8 @@ public class ImportOrderCheck final int groupIdx = getGroupNumber(name); final int line = ident.getLineNo(); - if (!beforeFirstImport && isAlphabeticallySortableStaticImport(isStatic) - || groupIdx == lastGroup) { + if (groupIdx == lastGroup + || !beforeFirstImport && isAlphabeticallySortableStaticImport(isStatic)) { doVisitTokenInSameGroup(isStatic, previous, name, line); } else if (groupIdx > lastGroup) { @@ -469,17 +469,17 @@ public class ImportOrderCheck } else { final boolean shouldFireError = - // current and previous static or current and - // previous non-static - lastImportStatic == isStatic - && - // and out of lexicographic order - compare(lastImport, name, caseSensitive) > 0 - || // previous non-static but current is static (above) // or // previous static but current is non-static (under) - previous; + previous + || + // current and previous static or current and + // previous non-static + lastImportStatic == isStatic + && + // and out of lexicographic order + compare(lastImport, name, caseSensitive) > 0; if (shouldFireError) { log(line, MSG_ORDERING, name); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/AbstractExpressionHandler.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/AbstractExpressionHandler.java index a47dcc3c2..8a9981c3a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/AbstractExpressionHandler.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/AbstractExpressionHandler.java @@ -577,8 +577,9 @@ public abstract class AbstractExpressionHandler { // or has + 1 indentation final int lparenLevel = expandedTabsColumnNo(lparen); - if (!getIndent().isAcceptable(rparenLevel) && isOnStartOfLine(rparen) - && rparenLevel != lparenLevel + 1) { + if (rparenLevel != lparenLevel + 1 + && !getIndent().isAcceptable(rparenLevel) + && isOnStartOfLine(rparen)) { logError(rparen, "rparen", rparenLevel); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/CommentsIndentationCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/CommentsIndentationCheck.java index a9ef8a488..be7c96bc5 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/CommentsIndentationCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/CommentsIndentationCheck.java @@ -315,8 +315,8 @@ public class CommentsIndentationCheck extends Check { */ private static boolean isFallThroughSingleLineComment(DetailAST prevStmt, DetailAST nextStmt) { return prevStmt != null - && prevStmt.getType() != TokenTypes.LITERAL_CASE && nextStmt != null + && prevStmt.getType() != TokenTypes.LITERAL_CASE && (nextStmt.getType() == TokenTypes.LITERAL_CASE || nextStmt.getType() == TokenTypes.LITERAL_DEFAULT); } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/SlistHandler.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/SlistHandler.java index 4cdaaaf90..cfc60cffa 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/SlistHandler.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/indentation/SlistHandler.java @@ -81,8 +81,8 @@ public class SlistHandler extends BlockParentHandler { // if our parent is a block handler we want to be transparent if (getParent() instanceof BlockParentHandler && !(getParent() instanceof SlistHandler) - || getParent() instanceof CaseHandler - && child instanceof SlistHandler) { + || child instanceof SlistHandler + && getParent() instanceof CaseHandler) { return getParent().getSuggestedChildIndent(child); } return super.getSuggestedChildIndent(child); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java index 3be55324e..689875a35 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java @@ -462,10 +462,11 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck { private boolean shouldCheck(final DetailAST ast, final Scope nodeScope) { final Scope surroundingScope = ScopeUtils.getSurroundingScope(ast); - return nodeScope.isIn(scope) - && surroundingScope.isIn(scope) - && (excludeScope == null || nodeScope != excludeScope - && surroundingScope != excludeScope); + return (excludeScope == null + || nodeScope != excludeScope + && surroundingScope != excludeScope) + && nodeScope.isIn(scope) + && surroundingScope.isIn(scope); } /** @@ -488,7 +489,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck { else { // Check for inheritDoc boolean hasInheritDocTag = false; - while (it.hasNext() && !hasInheritDocTag) { + while (!hasInheritDocTag && it.hasNext()) { hasInheritDocTag = it.next().isInheritDocTag(); } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/modifier/RedundantModifierCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/modifier/RedundantModifierCheck.java index 3f46102f3..68d777cbe 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/modifier/RedundantModifierCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/modifier/RedundantModifierCheck.java @@ -334,7 +334,7 @@ public class RedundantModifierCheck else { final DetailAST parentClassAst = ast.getParent().getParent(); - if (parentClassAst.getType() == TokenTypes.INTERFACE_DEF || hasPublicModifier) { + if (hasPublicModifier || parentClassAst.getType() == TokenTypes.INTERFACE_DEF) { isAccessibleFromPublic = isClassPublic(parentClassAst); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/GenericWhitespaceCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/GenericWhitespaceCheck.java index be2edd8b0..551da6a96 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/GenericWhitespaceCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/GenericWhitespaceCheck.java @@ -307,10 +307,10 @@ public class GenericWhitespaceCheck extends Check { * @return checks if given character is valid */ private static boolean isCharacterValidAfterGenericEnd(char charAfter) { - return Character.isWhitespace(charAfter) - || charAfter == '(' || charAfter == ')' - || charAfter == ',' || charAfter == '[' - || charAfter == '.' || charAfter == ':' - || charAfter == ';'; + return charAfter == '(' || charAfter == ')' + || charAfter == ',' || charAfter == '[' + || charAfter == '.' || charAfter == ':' + || charAfter == ';' + || Character.isWhitespace(charAfter); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java index 4a53384c6..0f2e9cabb 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java @@ -123,9 +123,9 @@ public class WhitespaceAfterCheck if (after < line.length()) { final char charAfter = line.charAt(after); - followedByWhitespace = Character.isWhitespace(charAfter) - || targetAST.getType() == TokenTypes.SEMI - && (charAfter == ';' || charAfter == ')'); + followedByWhitespace = charAfter == ';' + || charAfter == ')' + || Character.isWhitespace(charAfter); } return followedByWhitespace; }