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