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 RepClassSpecVisitor extends UniversalVisitor {
  protected Name first;
  public Name get_first() { return first; }
  public void set_first(Name new_first)
    { first = new_first; }
  protected Name inner;
  public Name get_inner() { return inner; }
  public void set_inner(Name new_inner)
    { inner = new_inner; }
  RepClassSpecVisitor() { super(); }
  public RepClassSpecVisitor(Name first, Name inner) {
    super();
    set_first(first);
    set_inner(inner);
  }

		boolean bflag = false; 
	  public void before(RepeatedPart host) { 
		bflag = true ; 
	}
  public void before(ClassSpec_Sandwich host) { 
		bflag = false ; 
	}
  public void before(ClassSpec host) {
		if (bflag)
			first = host.get_classname().get_name();
		else
			inner = host.get_classname().get_name();
	}
  void universal_trv0_bef(UniversalVisitor _v_) {
    super.universal_trv0_bef(_v_);
  }
  void universal_trv0_aft(UniversalVisitor _v_) {
    super.universal_trv0_aft(_v_);
  }
  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    first.universal_trv0(_v_);
    inner.universal_trv0(_v_);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }
}

