package GT

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Base class for all plugins. Implements Plugin_intf.typ_g interface

Is subclassed by with_inherited_attr and no_inherite_arg. Use them for convenience.

inherit Intf.g
method tdecls : Ppxlib.type_declaration list
method is_rec : bool
method plugin_name : string
val reinterpreted_args : (int * Ppxlib.expression) list
method extra_class_sig_members : Ppxlib.type_declaration -> AstHelpers.Ctf.t list
method extra_class_str_members : Ppxlib.type_declaration -> AstHelpers.Cf.t list
method cur_name : Ppxlib.type_declaration -> string
method make_class : loc:AstHelpers.loc -> is_rec:bool -> Ppxlib.type_declaration -> AstHelpers.Str.t
method prepare_fa_args : 'a. loc:AstHelpers.loc -> (loc:AstHelpers.loc -> flg:Ppxlib.rec_flag -> pat:AstHelpers.Pat.t -> expr:AstHelpers.Exp.t -> 'a -> 'a) -> Ppxlib.type_declaration -> AstHelpers.Pat.t list * ('a -> 'a)
method apply_fas_in_new_object : loc:AstHelpers.loc -> Ppxlib.type_declaration -> AstHelpers.Exp.t list
method wrap_class_definition : loc:AstHelpers.loc -> inh_params:AstHelpers.Typ.t list -> Ppxlib.type_declaration list -> Ppxlib.type_declaration -> AstHelpers.Cf.t list -> AstHelpers.Str.t
method virtual make_typ_of_class_argument : 'a. loc:AstHelpers.loc -> Ppxlib.type_declaration -> (AstHelpers.Typ.t -> 'a -> 'a) -> string -> (('a -> 'a) -> 'a -> 'a) -> 'a -> 'a
method class_constructor_sig : loc:AstHelpers.loc -> ?a_stub:bool -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method make_class_sig : loc:AstHelpers.loc -> ?a_stub:bool -> is_rec:bool -> Ppxlib.type_declaration -> AstHelpers.Sig.t list
method make_inherit_args_for_alias : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> Ppxlib.type_declaration -> (loc:AstHelpers.loc -> Ppxlib.core_type -> AstHelpers.Exp.t) -> Ppxlib.longident Ppxlib.Asttypes.loc -> Ppxlib.core_type GTCommon.HelpersBase.List.t -> AstHelpers.Exp.t list
method got_constr : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> ?fix_self_app:(AstHelpers.Exp.t -> AstHelpers.Exp.t) -> Ppxlib.type_declaration -> Ppxlib.type_declaration list -> (loc:AstHelpers.loc -> Ppxlib.core_type -> AstHelpers.Exp.t) -> Ppxlib.longident Ppxlib.Asttypes.loc -> Ppxlib.core_type GTCommon.HelpersBase.List.t -> (AstHelpers.Cf.t list -> AstHelpers.Cf.t list) -> AstHelpers.Cf.t list
method got_polyvar : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration list -> Ppxlib.type_declaration -> (loc:AstHelpers.loc -> Ppxlib.core_type -> AstHelpers.Exp.t) -> Ppxlib.row_field_desc list -> (AstHelpers.Cf.t list -> AstHelpers.Cf.t list) -> AstHelpers.Cf.t list
method got_typedecl : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration list -> Ppxlib.type_declaration -> (AstHelpers.Cf.t list -> AstHelpers.Str.t) -> AstHelpers.Str.t
method virtual on_record_declaration : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration list -> Ppxlib.type_declaration -> Ppxlib.label_declaration list -> AstHelpers.Cf.t list
method make_typ_of_mutal_trf : loc:AstHelpers.loc -> Ppxlib.type_declaration -> (AstHelpers.Typ.t -> AstHelpers.Typ.t) -> AstHelpers.Typ.t
method wrap_tr_function_typ : Ppxlib.core_type -> Ppxlib.core_type
method virtual long_trans_function_typ : loc:AstHelpers.loc -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method make_trans_function_typ : loc:AstHelpers.loc -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method make_trans_function_name : Ppxlib.type_declaration -> string
method make_trans_functions_sig : loc:AstHelpers.loc -> is_rec:bool -> Ppxlib.type_declaration -> AstHelpers.Sig.t GTCommon.HelpersBase.List.t
method make_class_name : ?is_mutal:bool -> Ppxlib.type_declaration -> string
method virtual make_trans_function_body : loc:AstHelpers.loc -> ?rec_typenames:string list -> string -> Ppxlib.type_declaration -> AstHelpers.Exp.t
method is_combinatorial : Ppxlib.type_declaration -> Ppxlib.core_type option
method guess_recursivity : Ppxlib.type_declaration -> bool
method make_trans_functions : loc:AstHelpers.loc -> is_rec:bool -> AstHelpers.Str.t GTCommon.HelpersBase.List.t
method fix_func_name : ?for_:string -> unit -> string
method do_single_sig : loc:AstHelpers.loc -> is_rec:bool -> Ppxlib.type_declaration -> AstHelpers.Sig.t GTCommon.HelpersBase.List.t
method do_single : loc:AstHelpers.loc -> is_rec:bool -> Ppxlib.type_declaration -> AstHelpers.Str.t GTCommon.HelpersBase.List.t
method final_typ_params_for_alias : loc:AstHelpers.loc -> Ppxlib.type_declaration -> Ppxlib.core_type GTCommon.HelpersBase.List.t -> AstHelpers.Typ.t list
method alias_inherit_type_params : loc:AstHelpers.loc -> Ppxlib.type_declaration -> Ppxlib.core_type list -> AstHelpers.Typ.t list
method do_mutuals_sigs : loc:AstHelpers.loc -> is_rec:bool -> AstHelpers.Sig.t GTCommon.HelpersBase.List.t
method do_mutuals : loc:AstHelpers.loc -> is_rec:bool -> Ppxlib.type_declaration list -> AstHelpers.Str.t list
method simple_trf_funcs : loc:AstHelpers.loc -> Ppxlib.type_declaration -> AstHelpers.Typ.t -> AstHelpers.Typ.t
method plugin_class_params_tdecl : Ppxlib.type_declaration -> AstHelpers.type_arg list
method make_shortend_class_sig : loc:AstHelpers.loc -> AstHelpers.Sig.t list
method make_shortend_class : loc:AstHelpers.loc -> Ppxlib.type_declaration list -> AstHelpers.Str.t list
method virtual on_record_constr : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration list -> inhe:AstHelpers.Exp.t -> Ppxlib.type_declaration -> [ `Normal of string | `Poly of string ] -> (string * string * Ppxlib.core_type) list -> Ppxlib.label_declaration list -> AstHelpers.Exp.t
method virtual on_tuple_constr : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration list -> inhe:AstHelpers.Exp.t -> Ppxlib.type_declaration -> [ `Normal of string | `Poly of Ppxlib.label ] option -> (string * Ppxlib.core_type) list -> AstHelpers.Exp.t
method on_variant : loc:AstHelpers.loc -> Ppxlib.type_declaration -> mutual_decls:Ppxlib.type_declaration list -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> Ppxlib.constructor_declaration list -> (AstHelpers.Cf.t list -> AstHelpers.Cf.t list) -> AstHelpers.Cf.t list
method generate_for_variable : loc:AstHelpers.loc -> string -> AstHelpers.Exp.t
method eta_and_exp : center:AstHelpers.Exp.t -> Ppxlib.type_declaration -> AstHelpers.Exp.t
method self_arg_name : string -> string
method do_typ_gen : loc:AstHelpers.loc -> mutual_decls:Ppxlib.type_declaration list -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> Ppxlib.type_declaration -> Ppxlib.core_type -> AstHelpers.Exp.t
method treat_type_specially : Ppxlib.core_type -> AstHelpers.Exp.t option
method virtual app_transformation_expr : loc:AstHelpers.loc -> AstHelpers.Exp.t -> AstHelpers.Exp.t -> AstHelpers.Exp.t -> AstHelpers.Exp.t
method virtual abstract_trf : loc:AstHelpers.loc -> (AstHelpers.Exp.t -> AstHelpers.Exp.t -> AstHelpers.Exp.t) -> AstHelpers.Exp.t
method virtual app_gcata : loc:AstHelpers.loc -> AstHelpers.Exp.t -> AstHelpers.Exp.t
method virtual make_typ_of_self_trf : loc:AstHelpers.loc -> ?in_class:bool -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method virtual make_RHS_typ_of_transformation : loc:AstHelpers.loc -> ?subj_t:AstHelpers.Typ.t -> ?syn_t:AstHelpers.Typ.t -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method compose_apply_transformations : loc:AstHelpers.loc -> left:AstHelpers.Exp.t -> AstHelpers.Exp.t -> Ppxlib.core_type -> AstHelpers.Exp.t
method virtual need_inh_attr : bool
OCaml

Innovation. Community. Security.