package wax-lib

  1. Overview
  2. Docs
Libraries for Wax, a Rust-like syntax for WebAssembly

Install

dune-project
 Dependency

Authors

Maintainers

Sources

wax-0.1.0.tbz
sha256=41b580846af8d41bdf6c3f005f62e38feda3e60fe2e9e4aa440db34ce515a153
sha512=4b3a181fcc7d743194a8647260870fb5190770066a197bcc48104c2b77fd40c643228b795c2bcd6b29a120820e969eb42a37a9bcec98b3f608d13f152d9f6579

doc/wax-lib.utils/Wax_utils/Source_map/index.html

Module Wax_utils.Source_mapSource

Sourcetype t
Sourcetype mapping = {
  1. generated_offset : int;
  2. original_file_idx : int;
  3. original_line : int;
  4. original_column : int;
}
Sourceval create : unit -> t
Sourceval register_file : t -> string -> int
Sourceval add_mapping : t -> generated_offset:int -> original_location:Ast.location -> unit

Map generated_offset to the start of original_location.

Sourceval add_mapping_at : t -> generated_offset:int -> position:Lexing.position -> unit

Map generated_offset to a specific source position — used to attach the closing end opcode of a block or expression to its end position.

Sourceval add_absent_mapping : t -> generated_offset:int -> unit

add_absent_mapping t ~generated_offset records that the code at generated_offset has no original location, emitting a segment that resets the mapping so the previous location does not bleed into it.

Sourcetype checkpoint
Sourceval checkpoint : t -> checkpoint

checkpoint t captures the set of mappings recorded so far, for a later shift_since. Mappings are recorded with generated offsets relative to whichever buffer is being encoded; a checkpoint plus shift_since rebases the ones added afterwards once their absolute file offset is known.

Sourceval shift_since : t -> checkpoint -> delta:int -> unit

shift_since t cp ~delta adds delta to the generated offset of every mapping recorded since the checkpoint cp.

Sourceval to_json : t -> file_name:string -> string