-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdebuginfo.mli
78 lines (61 loc) · 2.7 KB
/
debuginfo.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *)
(* *)
(* Copyright 2006 Institut National de Recherche en Informatique et *)
(* en Automatique. *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
module Scoped_location : sig
type scopes
val string_of_scopes : scopes -> string
val empty_scopes : scopes
val enter_anonymous_function : scopes:scopes -> scopes
val enter_value_definition : scopes:scopes -> Ident.t -> scopes
val enter_module_definition : scopes:scopes -> Ident.t -> scopes
val enter_class_definition : scopes:scopes -> Ident.t -> scopes
val enter_method_definition : scopes:scopes -> Asttypes.label -> scopes
type t =
| Loc_unknown
| Loc_known of
{ loc : Location.t;
scopes : scopes; }
val of_location : scopes:scopes -> Location.t -> t
val to_location : t -> Location.t
val string_of_scoped_location : t -> string
end
type item = private {
dinfo_file: string;
dinfo_line: int;
dinfo_char_start: int;
dinfo_char_end: int;
dinfo_start_bol: int;
dinfo_end_bol: int;
dinfo_end_line: int;
dinfo_scopes: Scoped_location.scopes;
}
type t = item list
type alloc_dbginfo_item =
{ alloc_words : int;
alloc_dbg : t }
(** Due to Comballoc, a single Ialloc instruction may combine several
unrelated allocations. Their Debuginfo.t (which may differ) are stored
as a list of alloc_dbginfo. This list is in order of increasing memory
address, which is the reverse of the original allocation order. Later
allocations are consed to the front of this list by Comballoc. *)
type alloc_dbginfo = alloc_dbginfo_item list
val none : t
val is_none : t -> bool
val to_string : t -> string
val from_location : Scoped_location.t -> t
val to_location : t -> Location.t
val inline : t -> t -> t
val compare : t -> t -> int
val hash : t -> int
val print_compact : Format.formatter -> t -> unit