private static boolean isNotLiteral(ASTPrimaryExpression expression) { ASTPrimaryPrefix prefix = expression.getFirstDescendantOfType(ASTPrimaryPrefix.class); if (prefix != null) { return !prefix.hasDescendantOfType(ASTLiteral.class); } return true; }
private ASTPrimaryExpression findNullCompareExpression(ASTEqualityExpression equalityExpression) { List<ASTPrimaryExpression> primaryExpressions = equalityExpression .findDescendantsOfType(ASTPrimaryExpression.class); for (ASTPrimaryExpression primaryExpression : primaryExpressions) { List<ASTPrimaryPrefix> primaryPrefixes = primaryExpression.findDescendantsOfType(ASTPrimaryPrefix.class); for (ASTPrimaryPrefix primaryPrefix : primaryPrefixes) { if (primaryPrefix.hasDescendantOfType(ASTName.class)) { // We found the variable that is compared to null return primaryExpression; } } } return null; // Nothing found }
if (prefix.hasDescendantOfType(ASTBooleanLiteral.class)) { super.addViolation(data, node); return data;
private static boolean isNotLiteral(ASTPrimaryExpression expression) { ASTPrimaryPrefix prefix = expression.getFirstDescendantOfType(ASTPrimaryPrefix.class); if (prefix != null) { return !prefix.hasDescendantOfType(ASTLiteral.class); } return true; }
private ASTPrimaryExpression findNullCompareExpression(ASTEqualityExpression equalityExpression) { List<ASTPrimaryExpression> primaryExpressions = equalityExpression .findDescendantsOfType(ASTPrimaryExpression.class); for (ASTPrimaryExpression primaryExpression : primaryExpressions) { List<ASTPrimaryPrefix> primaryPrefixes = primaryExpression.findDescendantsOfType(ASTPrimaryPrefix.class); for (ASTPrimaryPrefix primaryPrefix : primaryPrefixes) { if (primaryPrefix.hasDescendantOfType(ASTName.class)) { // We found the variable that is compared to null return primaryExpression; } } } return null; // Nothing found }
if (prefix.hasDescendantOfType(ASTBooleanLiteral.class)) { super.addViolation(data, node); return data;