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