jon.recoil.org

Module Expansion_context.DeriverSource

Sourcetype t

Type of expansion contexts for derivers

Return the location of the item to which the deriver is being applied

Return the code path for the given context In Driver, Deriving and Extension, the context is initialized so that the file_path component of the code_path is determined from the first location found in the input AST. That means that:

  • It's the empty string in empty structures or signatures
  • It can be altered by line directives
Sourceval input_name : Ppxlib.Expansion_context.Deriver.t -> string

Return the input name for the given context. In Driver, Deriving and Extension, the context argument is initialized so that the input_name matches the input filename passed to the driver on the command line. That means that:

  • It has a value even for empty files
  • It is not affected by line directives
  • It is "_none_" when using Driver.map_structure or Driver.map_signature

Can be used within a ppx preprocessor to know which tool is calling it "ocamlc", "ocamlopt", "ocamldep", "ocaml", ... .

Sourceval with_loc_and_path : (loc:Ppxlib.Location.t -> path:string -> 'a) -> ctxt:Ppxlib.Expansion_context.Deriver.t -> 'a

Wrap a fun ~loc ~path into a fun ~ctxt

Whether the derived code is going to be inlined in the source