Module Camlp4.Struct.Loc


module Loc: sig .. end


type t = {
   file_name : string;
   start : pos;
   stop : pos;
   ghost : bool;
}
val dump : Format.formatter -> t -> unit
val start_pos : t -> Lexing.position
val ghost : t
val mk : string -> t
val of_tuple : string * int * int * int * int * int * int * bool -> t
val to_tuple : t -> string * int * int * int * int * int * int * bool
val of_lexbuf : Lexing.lexbuf -> t
val of_lexing_position : Lexing.position -> t
val to_ocaml_location : t -> Camlp4_import.Location.t
val of_ocaml_location : Camlp4_import.Location.t -> t
val start_pos : t -> Lexing.position
val stop_pos : t -> Lexing.position
val merge : t -> t -> t
val join : t -> t
val move : [< `both | `start | `stop ] ->
int -> t -> t
val move_line : int -> t -> t
val shift : int -> t -> t
val file_name : t -> string
val start_line : t -> int
val stop_line : t -> int
val start_bol : t -> int
val stop_bol : t -> int
val start_off : t -> int
val stop_off : t -> int
val is_ghost : t -> bool
val set_file_name : string -> t -> t
val ghostify : t -> t
val make_absolute : t -> t
val strictly_before : t -> t -> bool
val to_string : t -> string
val print : Format.formatter -> t -> unit
exception Exc_located of t * exn
val name : string Pervasives.ref
val raise : t -> exn -> 'a