// ** This class was generated with DemFGen (vers:10/11/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 ToStr extends edu.neu.ccs.demeterf.ID{
   public static String ToStrM(Object o){
      return new edu.neu.ccs.demeterf.Traversal(new ToStr(),edu.neu.ccs.demeterf.Control.builtins()).<String>traverse(o);
   }

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

   String combine(Some _h_, String just){
      return "Some("+just+")";
   }
   String combine(None _h_){
      return "None("+")";
   }
   String combine(Cons _h_, String first, String rest){
      return "Cons("+first+","+rest+")";
   }
   String combine(Empty _h_){
      return "Empty("+")";
   }
   String combine(Entry _h_, String key, String val){
      return "Entry("+key+","+val+")";
   }
   String combine(Map _h_, String map){
      return "Map("+map+")";
   }
   String combine(RED _h_){
      return "RED("+")";
   }
   String combine(BLACK _h_){
      return "BLACK("+")";
   }
   String combine(RBNode _h_, String color, String data, String left, String right){
      return "RBNode("+color+","+data+","+left+","+right+")";
   }
   String combine(RBLeaf _h_){
      return "RBLeaf("+")";
   }
   String combine(RawMaterial _h_, String constraints){
      return "RawMaterial("+constraints+")";
   }
   String combine(Constraint _h_, String w, String r, String cs){
      return "Constraint("+w+","+r+","+cs+")";
   }
   String combine(Weight _h_, String v){
      return "Weight("+v+")";
   }
   String combine(RelationNr _h_, String v){
      return "RelationNr("+v+")";
   }
   String combine(Variable _h_, String v){
      return "Variable("+v+")";
   }

}