GTCommon.Plugin_intfBase class type that all trait should follow.
For single type declaration
type ('a, 'b, ...) typ = ...
plugin generate a plugin class called traitnname_typ_t and a transformation function called traitname_t.
Generated transformation functions can make use of inherited attribute for type parameter (which is being generated by method typ_g#inh_of_param) or simply ignore it. For example, transformation function for type parameter 'a can have types either 'a -> 'sa (see plugins Show and Gmap as examples) or 'ia -> 'a -> 'sa.
type plugin_args = (Ppxlib.longident * Ppxlib.expression) listA type that stores additional arguments passed to each plugin.
class virtual ['loc, 'exp, 'typ, 'type_arg, 'ctf, 'cf, 'str, 'sign] typ_g : object ... endBase class type for all plugins.
module Make (AstHelpers : GTHELPERS_sig.S) : sig ... endFunctor that takes AST construction functions for a specific backend and constructs a plugin object.
module type MAKE = functor (AstHelpers : GTHELPERS_sig.S) -> sig ... end