package pfff

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type node = string * Entity_code.entity_kind
type nodeinfo = {
  1. pos : Parse_info.token_location;
  2. props : Entity_code.property list;
  3. typ : string option;
}
type edge =
  1. | Has
  2. | Use
type edgeinfo = {
  1. write : bool;
  2. read : bool;
}
type graph
type error =
  1. | NodeAlreadyPresent of node
exception Error of error
val string_of_error : error -> string
type statistics = {
  1. parse_errors : Common.filename list ref;
  2. lookup_fail : (Parse_info.t * node) list ref;
  3. method_calls : (Parse_info.t * resolved) list ref;
  4. field_access : (Parse_info.t * resolved) list ref;
  5. unresolved_class_access : Parse_info.t list ref;
  6. unresolved_calls : Parse_info.t list ref;
}
and resolved = bool
val empty_statistics : unit -> statistics
type adjust = string * string
type dependency = node * node
type whitelist = dependency list
val version : int
val load : Common.filename -> graph
val save : graph -> Common.filename -> unit
val default_filename : string
val root : node
val pb : node
val not_found : node
val dupe : node
val create : unit -> graph
val add_node : node -> graph -> unit
val add_nodeinfo : node -> nodeinfo -> graph -> unit
val add_edge : (node * node) -> edge -> graph -> unit
val add_edgeinfo : (node * node) -> edge -> edgeinfo -> graph -> unit
val remove_edge : (node * node) -> edge -> graph -> unit
val create_initial_hierarchy : graph -> unit
val create_intermediate_directories_if_not_present : graph -> Common.dirname -> unit
val remove_empty_nodes : graph -> node list -> unit
val basename_to_readable_disambiguator : Common.filename list -> root:Common.dirname -> string -> Common.filename list
val has_node : node -> graph -> bool
val succ : node -> edge -> graph -> node list
val pred : node -> edge -> graph -> node list
val mk_eff_use_pred : graph -> node -> node list
val parent : node -> graph -> node
val parents : node -> graph -> node list
val children : node -> graph -> node list
val node_and_all_children : node -> graph -> node list
val nodeinfo : node -> graph -> nodeinfo
val nodeinfo_opt : node -> graph -> nodeinfo option
val edgeinfo_opt : (node * node) -> edge -> graph -> edgeinfo option
val file_of_node : node -> graph -> Common.filename
val privacy_of_node : node -> graph -> Entity_code.privacy
val shortname_of_node : node -> string
val gensym : string -> string
val iter_use_edges : (node -> node -> unit) -> graph -> unit
val iter_nodes : (node -> unit) -> graph -> unit
val all_use_edges : graph -> (node * node) list
val all_nodes : graph -> node list
val nb_nodes : graph -> int
val nb_use_edges : graph -> int
val print_statistics : statistics -> graph -> unit
val group_edges_by_files_edges : (node * node) list -> graph -> ((Common.filename * Common.filename) * (node * node) list) list
val strongly_connected_components_use_graph : graph -> node list array * (node, int) Hashtbl.t
val bottom_up_numbering : graph -> (node, int) Hashtbl.t
val top_down_numbering : graph -> (node, int) Hashtbl.t
val graph_of_dotfile : Common.filename -> graph
val string_of_node : node -> string
val display_with_gv : graph -> unit
val load_adjust : Common.filename -> adjust list
val load_whitelist : Common.filename -> whitelist
val save_whitelist : whitelist -> Common.filename -> graph -> unit
val adjust_graph : graph -> adjust list -> whitelist -> unit
OCaml

Innovation. Community. Security.