jon.recoil.org

Module Expansion_context.ExtensionSource

Sourcetype t

Type of expansion contexts for extensions

Return the location of the extension point being expanded

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

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.Extension.t -> 'a

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