diff options
Diffstat (limited to 'src/tree.mli')
-rw-r--r-- | src/tree.mli | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/tree.mli b/src/tree.mli new file mode 100644 index 0000000..3cdf219 --- /dev/null +++ b/src/tree.mli @@ -0,0 +1,57 @@ +open Types + +type special_export = Re_export_all | Fake_export_all + +type exports = { + export_ok : (context * string) list; + export_auto : (context * string) list; + export_tags : (string * (context * string) list) list; + special_export : special_export option; +} + + +type uses = (string * ((context * string) list option * pos)) list + +type prototype = { + proto_nb_min : int ; + proto_nb_max : int option ; + } + +type variable_used = Access_none | Access_write_only | Access_various + +type per_package = { + package_name : string ; has_package_name : bool ; + vars_declared : (context * string, pos * variable_used ref * prototype option) Hashtbl.t; + imported : ((context * string) * (string * variable_used ref * prototype option)) list option ref; + exports : exports ; + uses : uses ; + required_packages : (string * pos) list ; + body : fromparser list; + isa : (string * pos) list option ; + } + +type per_file = { + file_name : string ; + require_name : string option ; + lines_starts : int list ; + build_time : float ; + packages : per_package list ; + from_basedir : bool ; + } + +val empty_exports : exports +val ignore_package : string -> unit +val use_lib : string list ref +val uses_external_package : string -> bool +val findfile : string list -> string -> string + +val get_global_info_from_package : bool -> string option -> float -> fromparser list -> per_file + +val has_proto : string option -> fromparser -> ((context * string) list * pos * fromparser list) option +val get_vars_declaration : (context * string * string, pos * prototype option) Hashtbl.t -> string -> per_package -> unit + +val die_with_pos : string * int * int -> string -> 'a +val warn_with_pos : Types.warning list -> string * int * int -> string -> unit + +val fold_tree : ('a -> fromparser -> 'a option) -> 'a -> fromparser -> 'a +val from_qw : fromparser -> (context * string) list |