package CSU670_Plugin.gen;
import edu.neu.ccs.demeter.dj.*;
import edu.neu.ccs.demeter.aplib.cd.ClassDefVisitor;
import edu.neu.ccs.demeter.aplib.cd.ClassDef;
import java.io.*;
import java.util.*;
import edu.neu.ccs.demeter.*;
abstract class TargetDirective {
  protected ClassGlobSpec targets;
  public ClassGlobSpec get_targets() { return targets; }
  public void set_targets(ClassGlobSpec new_targets) { targets = new_targets; }
  public TargetDirective() { super(); }
  public TargetDirective(ClassGlobSpec targets) {
    super();
    set_targets(targets);
  }
  void universal_trv0_bef(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).before(this);
  }

  void universal_trv0_aft(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).after(this);
  }

  void universal_trv0(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).before_targets(this, targets);
    targets.universal_trv0(_v_);
    ((UniversalVisitor) _v_).after_targets(this, targets);
  }

}
