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 InitVisitor extends superInitVisitor {
  public InitVisitor() {
    super();
  }

		private int  vcount;
		private int ecount;
		int get_vcount()
		{
			return vcount;
		}
		void set_vcount(int n)
		{
			vcount = n;
		}
		int get_ecount()
		{
			return ecount;
		}
		void set_ecount(int n)
		{
			ecount = n;
		}
	  public void before(UGraph host) {
		set_vcount(0);
		set_ecount(0);
	}
  public void before(UVertex host) {
		set_vcount(get_vcount() + 1);
		if(host.get_vdeco() == null)
			host.set_vdeco(new Decorator( new Integer(0)  , new Vector()) );
		else
			host.get_vdeco().set_travtag(new Integer(0));
	}
  public void before(UEdge host) {
		set_ecount(get_ecount() + 1);
		if(host.get_edeco() == null)
			host.set_edeco(new Decorator( new Integer(0)  , new Vector()) );
		else
			host.get_edeco().set_travtag(new Integer(0));
	}
  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_);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }
}

