Module Expansion_context.DeriverSource
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
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 usingDriver.map_structureorDriver.map_signature
Can be used within a ppx preprocessor to know which tool is calling it "ocamlc", "ocamlopt", "ocamldep", "ocaml", ... .
val with_loc_and_path :
(loc:Ppxlib.Location.t -> path:string -> 'a) ->
ctxt:Ppxlib.Expansion_context.Deriver.t ->
'aWrap a fun ~loc ~path into a fun ~ctxt
Whether the derived code is going to be inlined in the source