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 ReturnValue extends Method {
  protected JavaType type;
  public JavaType get_type() { return type; }
  public void set_type(JavaType new_type)
    { type = new_type; }
  protected JavaCode exp;
  public JavaCode get_exp() { return exp; }
  public void set_exp(JavaCode new_exp)
    { exp = new_exp; }
  ReturnValue() { super(); }
  public ReturnValue(JavaType type, JavaCode exp) {
    super();
    set_type(type);
    set_exp(exp);
  }
  public static ReturnValue parse(java.io.InputStream in) throws ParseException
    { return new Parser(in)._ReturnValue(); }
  public static ReturnValue 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_) {
    super.universal_trv0_bef(_v_);
    _v_.before(this);
  }
  void universal_trv0_aft(UniversalVisitor _v_) {
    _v_.after(this);
    super.universal_trv0_aft(_v_);
  }
  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    if (type != null) {
      _v_.before_type(this, type);
    type.universal_trv0(_v_);
      _v_.after_type(this, type);
    }
    _v_.before_exp(this, exp);
    exp.universal_trv0(_v_);
    _v_.after_exp(this, exp);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }
  void toAllSubclasses_Program_trv(ClassNameTranspVisitor cntv, EdgeVisitor aev) {  }
  void checkStars_ProgramBehavior_trv(DummyVisitor dv) {  }
}

