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 33838317a..260dc2206 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 @@ -121,18 +121,11 @@ public class EqualsAvoidNullCheck extends Check { } final DetailAST objCalledOn = dot.getFirstChild(); - - //checks for calling equals on String literal and - //anon object which cannot be null - //Also, checks if calling using strange inner class - //syntax outter.inner.equals(otherObj) by looking - //for the dot operator which cannot be improved - if (objCalledOn.getType() == TokenTypes.STRING_LITERAL - || objCalledOn.getType() == TokenTypes.LITERAL_NEW - || objCalledOn.getType() == TokenTypes.DOT) { + if (isStringLiteral(objCalledOn)) { return; } + final DetailAST method = objCalledOn.getNextSibling(); final DetailAST expr = dot.getNextSibling().getFirstChild(); @@ -150,6 +143,24 @@ public class EqualsAvoidNullCheck extends Check { } } + /** + * checks for calling equals on String literal and + * anon object which cannot be null + * Also, checks if calling using strange inner class + * syntax outter.inner.equals(otherObj) by looking + * for the dot operator which cannot be improved + * @param objCalledOn object AST + * @return if it is string literal + */ + private boolean isStringLiteral(DetailAST objCalledOn) { + if (objCalledOn.getType() == TokenTypes.STRING_LITERAL + || objCalledOn.getType() == TokenTypes.LITERAL_NEW + || objCalledOn.getType() == TokenTypes.DOT) { + return true; + } + return false; + } + /** * Checks if a method contains no arguments * starting at with the argument expression.