package catala

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Catala_utils.PosSource

Source code position

Sourcetype t

A position in the source code is a file, as well as begin and end location of the form col:line, and optionally, attributes

Sourceval compare : t -> t -> int
Sourceval equal : t -> t -> bool
Sourcetype attr = ..
Sourcetype attr +=
  1. | Law_pos of string list

Constructor and getters

Sourceval from_lpos : (Lexing.position * Lexing.position) -> t
Sourceval from_info : string -> int -> int -> int -> int -> t
Sourceval overwrite_law_info : t -> string list -> t
Sourceval get_law_info : t -> string list
Sourceval get_start_line : t -> int
Sourceval get_start_column : t -> int
Sourceval get_end_line : t -> int
Sourceval get_end_column : t -> int
Sourceval get_file : t -> string
Sourceval attrs : t -> attr list
Sourceval set_attrs : t -> attr list -> t
Sourceval add_attr : t -> attr -> t
Sourceval add_attrs : t -> attr list -> t
Sourceval rem_attr : t -> attr -> t
Sourceval get_attr : t -> (attr -> 'a option) -> 'a option

Raises Invalid_argument if the attribute appears multiple times

Sourceval has_attr : t -> attr -> bool
Sourceval take_attr : t -> (attr -> 'a option) -> 'a option * t

Removes the found attribute if it is present

Sourceval get_attrs : t -> (attr -> 'a option) -> 'a list
Sourceval join : t -> t -> t

Returns the smallest range including both supplied ranges. Attributes are merged ; law info is taken from the earliest position.

Raises Invalid_argument if they don't belong to the same file.

Sourcemodule Map : Map.S with type key = t

Formatters

Sourceval to_string : t -> string

Formats a position like this:

in file <file>, from <start_line>:<start_col> to <end_line>:<end_col>
Sourceval to_string_short : t -> string

Formats a position like this:

<file>;<start_line>:<start_col>--<end_line>:<end_col>

This function is compliant with the GNU coding standards.

Sourceval to_string_shorter : t -> string

Like to_string_short, but skips directory names and extension

Sourceval format_loc_text : Format.formatter -> t -> unit

Open the file corresponding to the position and retrieves the text concerned by the position

Sourceval format_loc_text_parts : t -> (Format.formatter -> unit) * (Format.formatter -> unit) * (Format.formatter -> unit) option

Like format_loc_text, but returns the printing functions in 3 separate parts: the file name header, the line context, and the law headers

Sourceval void : t

Placeholder position