public void visit(AssignExpr n, Object arg) {
   n.getTarget().accept(this, arg);
   switch (n.getOperator()) {
     case assign:
       break;
     case and:
       break;
     case or:
       break;
     case xor:
       break;
     case plus:
       break;
     case minus:
       break;
     case rem:
       break;
     case slash:
       break;
     case star:
       break;
     case lShift:
       break;
     case rSignedShift:
       break;
     case rUnsignedShift:
       break;
   }
   n.getValue().accept(this, arg);
 }
 public void visit(AssignExpr n, A arg) {
   n.getTarget().accept(this, arg);
   n.getValue().accept(this, arg);
 }