public void visitConstant(Constant constant) {
   visitExpression(constant);
 }
 public void visitConditionalExpression(ConditionalExpression conditionalExpression) {
   visitExpression(conditionalExpression);
   visit(conditionalExpression.getTest());
   visit(conditionalExpression.getThenValue());
   visit(conditionalExpression.getElseValue());
 }
 public void visitExpressionsBlock(ExpressionsBlock expressionSequence) {
   visitExpression(expressionSequence);
   visit(expressionSequence.getExpressions());
 }
 public void visitArrayAccess(ArrayAccess arrayAccess) {
   visitExpression(arrayAccess);
   visit(arrayAccess.getTarget());
   visit(arrayAccess.getIndex());
 }
  public void visitAssignmentOp(AssignmentOp assignment) {
    visitExpression(assignment);
    visit(assignment.getTarget());

    visit(assignment.getValue());
  }
 public void visitNullExpression(NullExpression nullExpression) {
   visitExpression(nullExpression);
 }
 public void visitOpaqueExpression(OpaqueExpression opaqueExpression) {
   visitExpression(opaqueExpression);
 }
  public void visitNew(New new1) {
    visitExpression(new1);
    visit(new1.getType());

    visit(new1.getConstruction());
  }
 public void visitNewArray(NewArray newArray) {
   visitExpression(newArray);
   visit(newArray.getType());
   visit(newArray.getDimensions());
   visit(newArray.getInitialValues());
 }
 public void visitEmptyArraySize(EmptyArraySize emptyArraySize) {
   visitExpression(emptyArraySize);
 }
 public void visitTypeRefExpression(TypeRefExpression typeRefExpression) {
   visitExpression(typeRefExpression);
   visit(typeRefExpression.getType());
 }
 public void visitCast(Cast cast) {
   visitExpression(cast);
   visit(cast.getType());
   visit(cast.getTarget());
 }
  public void visitMemberRef(MemberRef memberRef) {
    visitExpression(memberRef);

    visit(memberRef.getTarget());
    visit(memberRef.getName());
  }
 public void visitBinaryOp(BinaryOp binaryOp) {
   visitExpression(binaryOp);
   visit(binaryOp.getFirstOperand());
   visit(binaryOp.getSecondOperand());
 }
 public void visitVariableRef(VariableRef variableRef) {
   visitExpression(variableRef);
   visit(variableRef.getName());
 }
 public void visitUnaryOp(UnaryOp unaryOp) {
   visitExpression(unaryOp);
   visit(unaryOp.getOperand());
 }