// ** This class was generated with DemFGen (vers:01/05/2008)

package gen;

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



public class Display extends edu.neu.ccs.demeterf.ID{
   public static String DisplayM(Object o){
      return new edu.neu.ccs.demeterf.Traversal(new Display(),edu.neu.ccs.demeterf.Control.builtins()).<String>traverse(o,"   ");
   }

   String combine(byte o){ return ": byte \""+o+"\""; }
   String combine(short o){ return ": short \""+o+"\""; }
   String combine(int o){ return ": int \""+o+"\""; }
   String combine(long o){ return ": long \""+o+"\""; }
   String combine(float o){ return ": float \""+o+"\""; }
   String combine(double o){ return ": double \""+o+"\""; }
   String combine(char o){ return ": char \""+o+"\""; }
   String combine(boolean o){ return ": boolean \""+o+"\""; }
   String combine(String o){ return ": String \""+o+"\""; }
   String combine(ident o){ return ": ident \""+o+"\""; }
   String combine(verbatim o){ return ": verbatim \""+o+"\""; }


   String update(Object o, Fields.any f, String d){ return d+"   "; }
   String _i(int d){ return d==0?"":"   "+_i(d-1); }

   String combine(Cons _h_, String first, String rest, String _d_){
      return ": Cons ("+"\n"+_d_+"<first> "+first+"\n"+_d_+"<rest> "+rest+" )";
   }
   String combine(Empty _h_, String _d_){
      return ": Empty ("+" )";
   }
   String combine(SimpleRawMaterials _h_, String constraints, String _d_){
      return ": SimpleRawMaterials ("+"\n"+_d_+"<constraints> "+constraints+" )";
   }
   String combine(RawMaterial _h_, String constraints, String _d_){
      return ": RawMaterial ("+"\n"+_d_+"<constraints> "+constraints+" )";
   }
   String combine(Constraint _h_, String r, String vars, String _d_){
      return ": Constraint ("+"\n"+_d_+"<r> "+r+"\n"+_d_+"<vars> "+vars+" )";
   }
   String combine(Relation _h_, String length, String pos, String _d_){
      return ": Relation ("+"\n"+_d_+"<length> "+length+"\n"+_d_+"<pos> "+pos+" )";
   }
   String combine(Length _h_, String v, String _d_){
      return ": Length ("+"\n"+_d_+"<v> "+v+" )";
   }
   String combine(Positive _h_, String v, String _d_){
      return ": Positive ("+"\n"+_d_+"<v> "+v+" )";
   }
   String combine(Variable _h_, String v, String _d_){
      return ": Variable ("+"\n"+_d_+"<v> "+v+" )";
   }

}