Catala_utils.PosSource code position
A position in the source code is a file, as well as begin and end location of the form col:line, and optionally, attributes
val from_lpos : (Stdlib.Lexing.position * Stdlib.Lexing.position) -> tval from_info : string -> int -> int -> int -> int -> tval get_law_info : t -> string listval get_start_line : t -> intval get_start_column : t -> intval get_end_line : t -> intval get_end_column : t -> intval get_file : t -> stringRaises Invalid_argument if the attribute appears multiple times
Removes the found attribute if it is present
Returns the smallest range including both supplied ranges. Attributes are merged ; law info is taken from the earliest position.
Void positions (filename = "") are ignored. Raises Invalid_argument if they don't belong to the same file.
val to_string : t -> stringFormats a position like this:
in file <file>, from <start_line>:<start_col> to <end_line>:<end_col>
val to_string_short : t -> stringFormats a position like this:
<file>;<start_line>:<start_col>--<end_line>:<end_col>
This function is compliant with the GNU coding standards.
val to_string_shorter : t -> stringLike to_string_short, but skips directory names and extension
val format_loc_text : Stdlib.Format.formatter -> t -> unitOpen the file corresponding to the position and retrieves the text concerned by the position
val format_loc_text_parts :
t ->
(Stdlib.Format.formatter ->
unit)
* (Stdlib.Format.formatter ->
unit)
* (Stdlib.Format.formatter -> unit) optionLike format_loc_text, but returns the printing functions in 3 separate parts: the file name header, the line context, and the law headers
val void : tPlaceholder position