// ** This class was generated with DemFGen (vers:09/27/2009)

package gen;

import edu.neu.ccs.demeterf.control.Fields;
import edu.neu.ccs.demeterf.lib.ident;
import edu.neu.ccs.demeterf.lib.verbatim;
import edu.neu.ccs.demeterf.lib.*;
import edu.neu.ccs.demeterf.lib.*;
import edu.neu.ccs.demeterf.*;
import edu.neu.ccs.demeterf.lib.*;



/** Creates a Static version of the TP class for a specific CD */
public class StaticTP extends edu.neu.ccs.demeterf.FC{
   public byte combine(byte _h_){ return _h_; }
   public short combine(short _h_){ return _h_; }
   public int combine(int _h_){ return _h_; }
   public long combine(long _h_){ return _h_; }
   public float combine(float _h_){ return _h_; }
   public double combine(double _h_){ return _h_; }
   public char combine(char _h_){ return _h_; }
   public boolean combine(boolean _h_){ return _h_; }
   public String combine(String _h_){ return _h_; }
   public ident combine(ident _h_){ return _h_; }
   public verbatim combine(verbatim _h_){ return _h_; }

   public Ifz combine(Ifz _h_, Exp cnd, Exp thn, Exp els){
      return new Ifz(cnd, thn, els);
   }
   public Def combine(Def _h_, ident id, Exp e, Exp body){
      return new Def(id, e, body);
   }
   public Bin combine(Bin _h_, Oper op, Exp left, Exp right){
      return new Bin(op, left, right);
   }
   public Var combine(Var _h_, ident id){
      return new Var(id);
   }
   public Num combine(Num _h_, int val){
      return new Num(val);
   }
   public Sub combine(Sub _h_){
      return new Sub();
   }
   public ExtEnv combine(ExtEnv _h_, ident id, int v, Env rest){
      return new ExtEnv(id, v, rest);
   }
   public EmptyEnv combine(EmptyEnv _h_){
      return new EmptyEnv();
   }
   public error combine(error _h_){
      return new error();
   }
   public Minus combine(Minus _h_){
      return new Minus();
   }
   public Push combine(Push _h_, int i){
      return new Push(i);
   }
   public Pop combine(Pop _h_){
      return new Pop();
   }
   public Define combine(Define _h_){
      return new Define();
   }
   public Undef combine(Undef _h_){
      return new Undef();
   }
   public Load combine(Load _h_, int i){
      return new Load(i);
   }
   public Label combine(Label _h_, ident id){
      return new Label(id);
   }
   public Jmp combine(Jmp _h_, ident id){
      return new Jmp(id);
   }
   public IfNZ combine(IfNZ _h_, ident id){
      return new IfNZ(id);
   }
   public OpCons combine(OpCons _h_, Op first, OpList rest){
      return new OpCons(first, rest);
   }
   public OpEmpty combine(OpEmpty _h_){
      return new OpEmpty();
   }
   public ExecStack combine(ExecStack _h_){
      return new ExecStack();
   }
   public CodeEntry combine(CodeEntry _h_, String label, OpList pc){
      return new CodeEntry(label, pc);
   }

}