@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { updatedExpressions.add(tree.variable()); super.visitAssignmentExpression(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { super.visitAssignmentExpression(tree); getContext().addIssue(this, tree, "Extract the assignment out of this expression."); } }
private void visitInnerExpression(ExpressionTree tree) { AssignmentExpressionTree assignmentExpressionTree = getInnerAssignmentExpression(tree); if (assignmentExpressionTree != null) { super.visitAssignmentExpression(assignmentExpressionTree); } else { scan(tree); } }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { super.visitAssignmentExpression(tree); lookForException(tree.expression()); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { if (tree.is(Kind.ASSIGNMENT) && isUndefined(tree.expression())) { reportIssue(tree); } super.visitAssignmentExpression(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { ExpressionTree variable = tree.variable(); if (tree.is(Tree.Kind.ASSIGNMENT) && SyntacticEquivalence.areEquivalent(variable, tree.expression())) { getContext().addIssue(this, tree, "Remove or correct this useless self-assignment."); } super.visitAssignmentExpression(tree); }
public void visitCommaOperatorExpression(Tree expression) { if (expression == null) { return; } if (expression.is(Kind.COMMA_OPERATOR)) { visitCommaOperatorExpression(((BinaryExpressionTree) expression).leftOperand()); visitCommaOperatorExpression(((BinaryExpressionTree) expression).rightOperand()); } else if (expression instanceof AssignmentExpressionTree) { super.visitAssignmentExpression((AssignmentExpressionTree) expression); } else { scan(expression); } }
@Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { if (tree.variable().is(Tree.Kind.DOT_MEMBER_EXPRESSION) && isChangedPropertyAccess((DotMemberExpressionTree) tree.variable())) { getContext().addIssue(this, tree, "Remove this update of the \"changed\" property."); } super.visitAssignmentExpression(tree); }
@Override public void visitAssignmentExpression(AssignmentExpressionTree assignment) { if (assignment.expression().is(Tree.Kind.POSTFIX_INCREMENT, Tree.Kind.POSTFIX_DECREMENT)) { UnaryExpressionTree postfix = (UnaryExpressionTree) assignment.expression(); if (SyntacticEquivalence.areEquivalent(assignment.variable(), postfix.expression())) { String type = postfix.is(Tree.Kind.POSTFIX_INCREMENT) ? "increment" : "decrement"; String message = String.format("Remove this %s or correct the code not to waste it.", type); getContext().addIssue(this, postfix, message); } } super.visitAssignmentExpression(assignment); }
/** * When an assignment is done to a symbol that has not been declared before, * a global variable is created with the left-hand side identifier as name. */ @Override public void visitAssignmentExpression(AssignmentExpressionTree tree) { if (tree.variable() instanceof IdentifierTree) { IdentifierTree identifier = (IdentifierTree) tree.variable(); Usage.Kind usageKind = Usage.Kind.WRITE; if (!tree.operator().text().equals(EcmaScriptPunctuator.EQU.getValue())) { usageKind = Usage.Kind.READ_WRITE; } if (!addUsageFor(identifier, usageKind)) { Symbol symbol = symbolModel.declareSymbol(identifier.name(), Symbol.Kind.VARIABLE, symbolModel.globalScope()); symbol.addUsage( Usage.create(identifier, usageKind) ); } // no need to inferType variable has it has been handle scan(tree.expression()); } else { super.visitAssignmentExpression(tree); } }