package ppxlib
Module Ppxlib.Location
Overrides the Location module of OCaml
There are less functions in this module. However the API should be more stable than the Location module of OCaml.
type t = Astlib.Location.t = {loc_start : Lexing.position;loc_end : Lexing.position;loc_ghost : bool;
}val in_file : string -> tReturn an empty ghost range located in a given file.
Set the pos_fname both in loc_start and loc_end. Leave the rest as is.
val none : tAn arbitrary value of type t; describes an empty ghost range.
val init : Lexing.lexbuf -> string -> unitSet the file name and line number of the lexbuf to be the start of the named file.
val raise_errorf :
?loc:t ->
('a, Stdppx.Caml.Format.formatter, unit, 'b) format4 ->
'aRaise a located error. Should be avoided as much as possible, in favor of error_extensionf.
val of_lexbuf : Lexing.lexbuf -> tReturn the location corresponding to the last matched regular expression
val report_exception : Stdppx.Caml.Format.formatter -> exn -> unitReport an exception on the given formatter
val print : Stdppx.Caml.Format.formatter -> t -> unitPrints File "...", line ..., characters ...-...:
val compare_pos : Lexing.position -> Lexing.position -> intval min_pos : Lexing.position -> Lexing.position -> Lexing.positionval max_pos : Lexing.position -> Lexing.position -> Lexing.positionmodule Error : sig ... endval error_extensionf :
loc:t ->
('a,
Format.formatter,
unit,
string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload)
format4 ->
'aReturns an error extension node. When encountered in the AST, the compiler recognizes it and displays the error properly.
exception Error of Error.t