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 is_rec : Base.bool
method plugin_name : Base.String.t
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 make_class : loc:AstHelpers.loc -> is_rec:Base.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 GTCommon.HelpersBase.List.t * ('a -> 'a)
method virtual make_typ_of_class_argument : 'a. loc:AstHelpers.loc -> Ppxlib.type_declaration -> (AstHelpers.Typ.t -> 'a -> 'a) -> Base.string -> (('a -> 'a) -> 'a -> 'a) -> 'a -> 'a
method class_constructor_sig : loc:AstHelpers.loc -> ?a_stub:Base.bool -> Ppxlib.type_declaration -> AstHelpers.Typ.t
method got_typedecl : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration GTCommon.HelpersBase.List.t -> Ppxlib.type_declaration -> (AstHelpers.Cf.t Base__List.t -> 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 Base.list -> Ppxlib.type_declaration -> Ppxlib.label_declaration Base.list -> AstHelpers.Cf.t Base.list
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:Base.bool -> Ppxlib.type_declaration -> AstHelpers.Sig.t Base.list
method make_class_name : ?is_mutal:Base.bool -> Ppxlib.type_declaration -> Base.string
method virtual make_trans_function_body : loc:AstHelpers.loc -> ?rec_typenames:Base.string Base.list -> Base.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:Base.bool -> AstHelpers.Str.t Base.list
method fix_func_name : ?for_:string -> unit -> string
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:Base.bool -> AstHelpers.Sig.t GTCommon.HelpersBase.List.t
method make_shortend_class_sig : loc:AstHelpers.loc -> AstHelpers.Sig.t GTCommon.HelpersBase.List.t
method virtual on_record_constr : loc:AstHelpers.loc -> is_self_rec:(Ppxlib.core_type -> [ `Nonrecursive | `Nonregular | `Regular ]) -> mutual_decls:Ppxlib.type_declaration Base.list -> inhe:AstHelpers.Exp.t -> Ppxlib.type_declaration -> [ `Normal of Base.string | `Poly of Base.string ] -> (Base.string * Base.string * Ppxlib.core_type) Base.list -> Ppxlib.label_declaration Base.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 Base.list -> inhe:AstHelpers.Exp.t -> Ppxlib.type_declaration -> [ `Normal of Base.string | `Poly of Base.string ] Base.option -> (Base.string * Ppxlib.core_type) Base.list -> AstHelpers.Exp.t
method generate_for_variable : loc:AstHelpers.loc -> string -> AstHelpers.Exp.t
method self_arg_name : string -> string
method do_typ_gen : loc:AstHelpers.loc -> mutual_decls:Ppxlib.type_declaration GTCommon.HelpersBase.List.t -> 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:Base.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 : Base.bool
OCaml

Innovation. Community. Security.