package ppxlib

  1. Overview
  2. Docs
Standard library for ppx rewriters

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ppxlib-0.28.0.tbz
sha256=d87ae5f9a081206308ca964809b50a66aeb8e83d254801e8b9675448b60cf377
sha512=03270d43e91485e63c7dc115a71933ffd8cb2910c273d605d2800fa69f523dcd4de1fbe31fd6c2f6979675c681343bcf4e35be06934565bf28edf4ea03f5da8e

doc/ppxlib/Ppxlib/Expansion_context/Deriver/index.html

Module Expansion_context.Deriver

type t

Type of expansion contexts for derivers

val derived_item_loc : t -> Location.t

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

val code_path : t -> Code_path.t

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
val input_name : 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
val tool_name : t -> string

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

val with_loc_and_path : (loc:Location.t -> path:string -> 'a) -> ctxt:t -> 'a

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

val inline : t -> bool

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