package EDU.neu.ccs.demeter.tools.apstudio.graphedit;
import java.awt.*;
import java.io.*;
import java.util.*;
import EDU.neu.ccs.demeter.*;
import EDU.neu.ccs.demeter.common.tg.*;


import EDU.neu.ccs.demeter.*;
class MethodParm {
  protected JavaType type;
  public JavaType get_type() { return type; }
  public void set_type(JavaType new_type)
    { type = new_type; }
  protected ArraySpec_List array1;
  public ArraySpec_List get_array1() { return array1; }
  public void set_array1(ArraySpec_List new_array1)
    { array1 = new_array1; }
  protected ParmName name;
  public ParmName get_name() { return name; }
  public void set_name(ParmName new_name)
    { name = new_name; }
  protected ArraySpec_List array2;
  public ArraySpec_List get_array2() { return array2; }
  public void set_array2(ArraySpec_List new_array2)
    { array2 = new_array2; }
  MethodParm() { super(); }
  public MethodParm(JavaType type, ArraySpec_List array1, ParmName name, ArraySpec_List array2) {
    super();
    set_type(type);
    set_array1(array1);
    set_name(name);
    set_array2(array2);
  }
  public static MethodParm parse(java.io.InputStream in) throws ParseException
    { return new Parser(in)._MethodParm(); }
  public static MethodParm parse(String s) {
    try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); }
    catch (ParseException e) { throw new RuntimeException(e.toString()); }
  }
  void universal_trv0_bef(UniversalVisitor _v_) {
    _v_.before(this);
  }
  void universal_trv0_aft(UniversalVisitor _v_) {
    _v_.after(this);
  }
  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    _v_.before_type(this, type);
    type.universal_trv0(_v_);
    _v_.after_type(this, type);
    _v_.before_array1(this, array1);
    array1.universal_trv0(_v_);
    _v_.after_array1(this, array1);
    _v_.before_name(this, name);
    name.universal_trv0(_v_);
    _v_.after_name(this, name);
    _v_.before_array2(this, array2);
    array2.universal_trv0(_v_);
    _v_.after_array2(this, array2);
    universal_trv0_aft(_v_);
  }
}

