@Override public void visitCallExpression(CallExpressionTree tree) { IdentifierTree callee = callee(tree); if (callee != null) { updatedExpressions.add(callee); } super.visitCallExpression(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (!tree.is(Kind.COMMA_OPERATOR)) { super.visitBinaryExpression(tree); return; } raiseIssue(tree); getAllSubExpressions(tree).forEach(expression -> super.scan(expression)); }
@Override public void visitAccessorMethodDeclaration(AccessorMethodDeclarationTree tree) { checkFunction(tree); super.visitAccessorMethodDeclaration(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { updatedExpressions.add(tree.variable()); super.visitAssignmentExpression(tree); }
@Override public void visitArrowFunction(ArrowFunctionTree tree) { checkFunction(tree); super.visitArrowFunction(tree); }
@Override public void visitBlock(BlockTree tree) { visitStatements(tree.statements()); super.visitBlock(tree); }
@Override public void visitBreakStatement(BreakStatementTree tree) { super.visitBreakStatement(tree); checkEOS(tree, tree.semicolonToken()); }
@Override public void visitArrayLiteral(ArrayLiteralTree tree) { List<Tree> elementsAndCommas = tree.elementsAndCommas(); if (!elementsAndCommas.isEmpty()) { Tree last = elementsAndCommas.get(elementsAndCommas.size() - 1); if (last.is(Kind.TOKEN)) { raiseIssue(last); } } super.visitArrayLiteral(tree); }
private void visitPossibleException(@Nullable Tree tree) { if (tree != null && tree.is(Kind.COMMA_OPERATOR)) { List<ExpressionTree> expressions = getAllSubExpressions((BinaryExpressionTree) tree); for (ExpressionTree expression : expressions) { super.scan(expression); } } else { super.scan(tree); } }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (tree.is(Tree.Kind.LESS_THAN, Tree.Kind.GREATER_THAN_OR_EQUAL_TO) && isZeroLiteral(tree.rightOperand()) && tree.leftOperand().is(Tree.Kind.DOT_MEMBER_EXPRESSION)) { DotMemberExpressionTree leftOperand = ((DotMemberExpressionTree) tree.leftOperand()); if (isLengthOrSizeProperty(leftOperand)) { String propertyName = leftOperand.property().name(); addIssue(tree, String.format("Fix this expression; %s of \"%s\" is always greater or equal to zero.", propertyName, CheckUtils.asString(leftOperand.object()))); } } super.visitBinaryExpression(tree); }
@Override public void visitArrayBindingPattern(ArrayBindingPatternTree tree) { if (tree.elements().isEmpty()) { addIssue(tree, MESSAGE); } super.visitArrayBindingPattern(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { super.visitAssignmentExpression(tree); lookForException(tree.expression()); }
@Override public void visitArrowFunction(ArrowFunctionTree tree) { checkParameterClause(tree); checkBody(tree); super.visitArrowFunction(tree); }
@Override public void visitBlock(BlockTree tree) { checkStatements(tree.statements()); super.visitBlock(tree); }
@Override public void visitBreakStatement(BreakStatementTree tree) { increaseNumberOfJumpInScopes(tree.breakKeyword(), tree.labelToken()); super.visitBreakStatement(tree); }
@Override public void visitArrayLiteral(ArrayLiteralTree tree) { if (isMultiline(tree) && !endsWithComma(tree)) { raiseIssueOnLastElement(tree.elements()); } super.visitArrayLiteral(tree); }
@Override public void visitBinaryExpression(BinaryExpressionTree tree) { if (isAndWithEqualToNull(tree) || isOrWithNonEqualToNull(tree)) { BinaryExpressionTree leftOperand = (BinaryExpressionTree) CheckUtils.removeParenthesis(tree.leftOperand()); ExpressionTree expression = CheckUtils.removeParenthesis(getNonNullLiteralOperand(leftOperand)); tree.rightOperand().accept(new NullExpressionUsageVisitor(expression, this)); } super.visitBinaryExpression(tree); }
@Override public void visitCallExpression(CallExpressionTree tree) { checkExpression(tree, tree.callee(), usedInNewExpression, usedInCallExpression, ""); super.visitCallExpression(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { if (inUpdate) { addCurrentLoopCounter(tree.variable()); } super.visitAssignmentExpression(tree); }