summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/global_checks.mli
blob: 9edacbf5edc389cddb058c986852fc615e4f02c7 (plain)
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
open Types
open Tree

type state = {
    per_files : (string, per_file) Hashtbl.t ;
    per_packages : (string, per_package) Hashtbl.t ;
    methods : (string, (string * variable_used ref * prototype option) list) Hashtbl.t ;
    global_vars_used : ((context * string * string) * pos) list ref ;
    packages_being_classes : (string, unit) Hashtbl.t ;
    packages_dependencies : (string * string, unit) Hashtbl.t ;
    packages_dependencies_maybe : (string * string * string, unit) Hashtbl.t ;
  }

val default_per_files : unit -> (string, per_file) Hashtbl.t
val default_state : (string, per_file) Hashtbl.t -> state
val check_tree : state -> per_package -> unit
val add_file_to_files : (string, per_file) Hashtbl.t -> per_file -> unit
val add_package_to_state : state -> per_package -> unit
val check_unused_vars : per_package -> unit
val arrange_global_vars_declared : (context * string * string, pos * Tree.prototype option) Hashtbl.t -> state -> state
val get_methods_available : state -> state

val read_packages_from_cache : (string, per_file) Hashtbl.t -> string -> unit
val write_packages_cache : (string, per_file) Hashtbl.t -> string -> unit

val generate_package_dependencies_graph : state -> string -> unit