forked from camlspotter/ocamloscope
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspath.mli
79 lines (61 loc) · 1.63 KB
/
spath.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
79
open Spotlib.Spot
type t = private
| SPpredef
| SPpack of OCamlFind.Packages.t (** can be linked into more than one package *)
| SPident of string
| SPdot of t * string
| SPapply of t * t
| SPattr of attr * t
and attr =
[ `Pack of t * (OCamlFind.Packages.t * (string * string option))
| `Ident of t * (string * string option)
| `AfterDot of string * string option
]
[@@deriving conv{ocaml_of}]
val predef : t
val pack : OCamlFind.Packages.t -> t
val ident : string -> t
val dot : t -> string -> t
val apply : t -> t -> t
val nhc_pack : OCamlFind.Packages.t -> t
val nhc_ident : string -> t
val nhc_dot : t -> string -> t
val nhc_apply : t -> t -> t
val nhc_attr : attr -> t -> t
val strip_attr : t -> t
val is_attred : t -> bool
val non_rec_hcons : t -> t
val rec_hcons : t -> t
val of_path : Path.t -> t
val to_path : t -> Path.t
val package_path : string -> Path.t
val look_same : t -> t -> bool
val of_longident : Longident.t -> t
(** This does not produce Hashcons'ed t *)
val to_longident : t -> Longident.t
val print :
?packages: [`Exact | `Nick | `ID]
-> ?remove_package_names:bool
-> ?just_postfix:bool
-> ?opened:t
-> ?predef:bool
-> t
-> Printer.t
val format :
?packages: [`Exact | `Nick | `ID]
-> ?remove_package_names:bool
-> ?just_postfix:bool
-> ?opened:t
-> ?predef:bool
-> unit
-> Format.t -> t -> unit
val show : t -> string
val read : string -> (t, string) Result.t
(** No hcons *)
val test_read : t -> unit
val short_look : t -> t
(** Short look of the given path
Module.Module.name => name
Module.Module.t => Module.t if one char
Module.A.t => A.t
*)