Plugin_intf.typ_gBase class type for all plugins.
Is parametrized by output AST types for convenience. All plugins receive input data as OCaml AST and return pieces specific for backend.
Name of a trait (and of plugin too). It is used for constructing new classes and * functions related to plugin.
method virtual inh_of_main : loc:'loc -> Ppxlib.type_declaration -> 'typInherited attribute for whole type declaration. Is is defined by plugin kind.
method virtual syn_of_main : loc:'loc ->
?in_class:bool ->
Ppxlib.type_declaration ->
'typSynthesized attribute for whole type declaration. Is is defined by plugin kind.
syn_of_param ~loc name constructs synthethized attribute for type paramter name.
method virtual inh_of_param : loc:'loc ->
Ppxlib.type_declaration ->
string ->
'typinh_of_param ~loc tdecl name constructs inherited attribute for type parameter name.
method virtual plugin_class_params : loc:'loc ->
Ppxlib.core_type list ->
typname:string ->
'typ listThe parameters that the plugin class will have in its definition. * Add 'extra manually if needed.
method virtual alias_inherit_type_params : loc:'loc ->
Ppxlib.type_declaration ->
Ppxlib.core_type list ->
'typ listArguments of inherit class field that will be generated using the types applied in the RHS of type definition.
method virtual extra_class_sig_members : Ppxlib.type_declaration -> 'ctf listAdds a few extra members to a plugin class. Could be some constraints that are difficult to add in place where type parameters are declared.
method virtual extra_class_str_members : Ppxlib.type_declaration -> 'cf listThe same as extra_class_sig_members but for structures.
method virtual do_single_sig : loc:'loc ->
is_rec:bool ->
Ppxlib.type_declaration ->
'sign listGenerate signature items for single type definition.
method virtual do_single : loc:'loc ->
is_rec:bool ->
Ppxlib.type_declaration ->
'str listGenerate structure items for single type definition.
Generate structure items a type extension. Beta feature.
method virtual make_trans_function_name : Ppxlib.type_declaration -> stringGenerate name for transformation function.
method virtual make_trans_function_typ : loc:'loc ->
Ppxlib.type_declaration ->
'typGenerate type of a transformation function.
method virtual do_mutuals : loc:'loc ->
is_rec:bool ->
Ppxlib.type_declaration list ->
'str listGenerate structure items for mutally recursive type declarations.
method virtual eta_and_exp : center:'exp -> Ppxlib.type_declaration -> 'expmethod virtual make_final_trans_function_typ : loc:'loc ->
Ppxlib.type_declaration ->
'typ