Functor Functor_class.Builder

module Builder: 
functor (Generator : Pa_deriving_common.Defs.Generator-> sig .. end
Parameters:
Generator : Pa_deriving_common.Defs.Generator

module Helpers: Generator.AstHelpers
type context = {
   argmap : Pa_deriving_common.Type.qname Pa_deriving_common.Type.NameMap.t;
   params : Pa_deriving_common.Type.param list;
}
val substitute : Pa_deriving_common.Type.name Pa_deriving_common.Type.NameMap.t ->
Pa_deriving_common.Type.expr -> Pa_deriving_common.Type.expr
val setup_context : Pa_deriving_common.Type.decl -> context
val param_map : context -> string Pa_deriving_common.Type.NameMap.t
val wrapper : context ->
Pa_deriving_common.Type.name ->
Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.module_expr
val polycase : context ->
Pa_deriving_common.Type.tagspec -> Camlp4.PreCast.Ast.match_case
val expr : context ->
Pa_deriving_common.Type.expr -> Camlp4.PreCast.Ast.expr
val tup : context ->
Pa_deriving_common.Type.expr list -> Camlp4.PreCast.Ast.expr
val case : context ->
string * Pa_deriving_common.Type.expr list -> Camlp4.PreCast.Ast.match_case
val field : context ->
string * ('a * Pa_deriving_common.Type.expr) * 'b -> Camlp4.PreCast.Ast.expr
val rhs : context ->
Pa_deriving_common.Type.rhs -> Camlp4.PreCast.Ast.expr
val maptype : context ->
Pa_deriving_common.Type.name -> Camlp4.PreCast.Ast.ctyp
val signature : context ->
Pa_deriving_common.Type.name -> Camlp4.PreCast.Ast.sig_item list
val decl : Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
Pa_deriving_common.Type.rhs * Pa_deriving_common.Type.constraint_ list *
bool -> Camlp4.PreCast.Ast.module_binding
val gen_sig : Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
Pa_deriving_common.Type.rhs * Pa_deriving_common.Type.constraint_ list *
bool -> Camlp4.PreCast.Ast.sig_item
val generate : (Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
Pa_deriving_common.Type.rhs * Pa_deriving_common.Type.constraint_ list *
bool)
list -> Camlp4.PreCast.Ast.str_item
val generate_sigs : (Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
Pa_deriving_common.Type.rhs * Pa_deriving_common.Type.constraint_ list *
bool)
list -> Camlp4.PreCast.Ast.sig_item