@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.CONDITIONAL_AND, Tree.Kind.CONDITIONAL_OR)) { blame.add(tree.operatorToken()); } super.visitBinaryExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { Tree.Kind peek = stack.peek(); Tree.Kind kind = getKind(tree); if (requiresParenthesis(peek, kind)) { raiseIssue(tree); } stack.push(kind); super.visitBinaryExpression(tree); stack.pop(); }
@Override public final void visitBinaryExpression(BinaryExpressionTree tree) { super.visitBinaryExpression(tree); if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { checkEqualityExpression(tree); } }
@Override public final void visitBinaryExpression(BinaryExpressionTree tree) { super.visitBinaryExpression(tree); if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { checkEqualityExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { Tree.Kind peek = stack.peek(); Tree.Kind kind = tree.kind(); if (requiresParenthesis(peek, kind)) { raiseIssue(tree.operatorToken().line(), tree); } stack.push(kind); super.visitBinaryExpression(tree); stack.pop(); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { Tree.Kind peek = stack.peek(); Tree.Kind kind = tree.kind(); if (requiresParenthesis(peek, kind)) { raiseIssue(tree.operatorToken().line(), tree); } stack.push(kind); super.visitBinaryExpression(tree); stack.pop(); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { Tree.Kind peek = stack.peek(); Tree.Kind kind = tree.kind(); if (requiresParenthesis(peek, kind)) { raiseIssue(tree.operatorToken().line(), tree); } stack.push(kind); super.visitBinaryExpression(tree); stack.pop(); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { super.visitBinaryExpression(tree); if (hasCallToSizeMethod(tree) && isEmptyComparison(tree)) { context.reportIssue(this, tree, "Use isEmpty() to check whether the collection is empty or not."); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(CONDITIONAL_AND, CONDITIONAL_OR) && !ignored.contains(tree)) { List<BinaryExpressionTree> flattenedLogicalExpressions = flattenLogicalExpression(tree).collect(Collectors.toList()); BinaryExpressionTree previous = null; for (BinaryExpressionTree current : flattenedLogicalExpressions) { if (previous == null || !previous.is(current.kind())) { increaseComplexityByOne(current.operatorToken()); } previous = current; } } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { boolean continueVisit = true; if (tree.is(Tree.Kind.DIVIDE) && isIntOrLong(tree.symbolType())) { continueVisit = checkIntegerDivisionInsideFloatingPointExpression(tree); } if (continueVisit) { super.visitBinaryExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { boolean continueVisit = true; if (tree.is(Tree.Kind.DIVIDE) && isIntOrLong(tree.symbolType())) { continueVisit = checkIntegerDivisionInsideFloatingPointExpression(tree); } if (continueVisit) { super.visitBinaryExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { checkOperand(tree.leftOperand()); checkOperand(tree.rightOperand()); } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.PLUS)) { checkPathDelimiter(tree.leftOperand()); checkPathDelimiter(tree.rightOperand()); } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO) && (isGetClassOnArgument(tree.leftOperand()) || isGetClassOnArgument(tree.rightOperand()))) { typeChecked = true; } else { super.visitBinaryExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (isRelationalExpression(tree)) { visitInnerExpression(tree.leftOperand()); visitInnerExpression(tree.rightOperand()); } else { super.visitBinaryExpression(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.PLUS)) { checkPathDelimiter(tree.leftOperand()); checkPathDelimiter(tree.rightOperand()); } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { checkOperand(tree.leftOperand()); checkOperand(tree.rightOperand()); } super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { addKind(tree.leftOperand(), UastNode.Kind.LEFT_OPERAND); addKind(tree.operatorToken(), UastNode.Kind.OPERATOR); addKind(tree.rightOperand(), UastNode.Kind.RIGHT_OPERAND); super.visitBinaryExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree binaryExpression) { // check that an @Optional is not compared to "null" if (binaryExpression.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { ExpressionTree left = binaryExpression.leftOperand(); ExpressionTree right = binaryExpression.rightOperand(); if ((isOptional(left) && isNull(right)) || (isNull(left) && isOptional(right))) { context.reportIssue(this, binaryExpression, "Remove this null-check of an \"Optional\"."); } } super.visitBinaryExpression(binaryExpression); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { super.visitBinaryExpression(tree); if (tree.is(Tree.Kind.EQUAL_TO, Tree.Kind.NOT_EQUAL_TO)) { Type leftOpType = tree.leftOperand().symbolType(); Type rightOpType = tree.rightOperand().symbolType(); if (!isExcluded(leftOpType, rightOpType) && hasObjectOperand(leftOpType, rightOpType)) { context.addIssue(tree, this, "Change this comparison to use the equals method."); } } }