@Override public void visit(SwitchStatement statement) { statement.getValue().acceptVisitor(this); for (SwitchClause clause : statement.getClauses()) { visit(clause.getBody()); } visit(statement.getDefaultClause()); }
@Override public void visit(WhileStatement statement) { if (statement.getCondition() != null) { statement.getCondition().acceptVisitor(this); } visit(statement.getBody()); }
@Override public void visit(AsyncMethodNode methodNode) { async = true; for (AsyncMethodPart part : methodNode.getBody()) { part.getStatement().acceptVisitor(this); } }
@Override public void visit(ConditionalStatement statement) { statement.getCondition().acceptVisitor(this); visit(statement.getConsequent()); visit(statement.getAlternative()); }
@Override public void visit(BreakStatement statement) { if (statement.getTarget() == replacedBreak) { replaceBy = new ContinueStatement(); replaceBy.setTarget(replacement); replaceBy.setLocation(statement.getLocation()); } }
public static Expr invert(Expr expr) { UnaryExpr result = new UnaryExpr(); result.setOperand(expr); result.setOperation(UnaryOperation.NOT); result.setLocation(expr.getLocation()); return result; }
@Override public void visit(InvocationExpr expr) { for (Expr argument : expr.getArguments()) { argument.acceptVisitor(this); } }
@Override public void visit(ConditionalExpr expr) { expr.getCondition().acceptVisitor(this); expr.getConsequent().acceptVisitor(this); expr.getAlternative().acceptVisitor(this); }
@Override public void visit(SubscriptExpr expr) { expr.getArray().acceptVisitor(this); expr.getIndex().acceptVisitor(this); }
@Override public void visit(AssignmentStatement statement) { if (statement.getLeftValue() != null) { statement.getLeftValue().acceptVisitor(this); } statement.getRightValue().acceptVisitor(this); }
@Override public void visit(TryCatchStatement statement) { visit(statement.getProtectedBody()); visit(statement.getHandler()); }
@Override public void visit(BinaryExpr expr) { expr.getFirstOperand().acceptVisitor(this); expr.getSecondOperand().acceptVisitor(this); }
@Override public void visit(ReturnStatement statement) { if (statement.getResult() != null) { statement.getResult().acceptVisitor(this); } }
@Override public void visit(MonitorExitStatement statement) { statement.getObjectRef().acceptVisitor(this); } }
@Override protected Expr clone(Map<Expr, Expr> cache) { PrimitiveCastExpr copy = new PrimitiveCastExpr(); copy.value = value.clone(cache); copy.source = source; copy.target = target; return copy; } }
@Override public void visit(QualificationExpr expr) { if (expr.getQualified() != null) { expr.getQualified().acceptVisitor(this); } }
@Override public void visit(RegularMethodNode methodNode) { async = false; methodNode.getBody().acceptVisitor(this); }
@Override public void visit(NewMultiArrayExpr expr) { for (Expr dimension : expr.getDimensions()) { dimension.acceptVisitor(this); } }
@Override protected Expr clone(Map<Expr, Expr> cache) { InstanceOfExpr copy = new InstanceOfExpr(); copy.type = type; copy.expr = expr != null ? expr.clone() : null; return copy; } }