// ** This class was generated with DemFGen (vers:10/21/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(NodeInt _h_, String data, String left, String right){
      return "NodeInt("+data+","+left+","+right+")";
   }
   String combine(EmptyInt _h_){
      return "EmptyInt("+")";
   }
   String combine(DiameterPair _h_, String height, String diameter){
      return "DiameterPair("+height+","+diameter+")";
   }
   String combine(CheckPair _h_, String res, String data){
      return "CheckPair("+res+","+data+")";
   }
   String combine(Down _h_, String parent){
      return "Down("+parent+")";
   }
   String combine(DownHeight _h_, String height){
      return "DownHeight("+height+")";
   }
   String combine(Pack _h_, String good, String min, String max){
      return "Pack("+good+","+min+","+max+")";
   }

}