Module Backend__CallGraph
module type NodeSig = sig ... end- val reset : t -> unit
- empty the graph and shrink it to its initial size 
- val create : int -> t
- create nmakes an empty graph with initial capacity- nwhich grows as required
- val n_procs : t -> int
- number of procedures in graph 
- val mem : t -> int -> bool
- is an int - idthe index of a node in the graph?
- val mem_procname : t -> IR.Procname.t -> bool
- is there a node for - procnamein the graph?
- val flag : t -> IR.Procname.t -> unit
- val flag_reachable : t -> IR.Procname.t -> unit
- flag all nodes reachable from the node of the given procname, if it exists 
- val iter_unflagged_leaves : f:(Node.t -> unit) -> t -> unit
- iterate over all leaves that have their flag set to false 
- val remove : t -> IR.Procname.t -> unit
- val to_dotty : t -> string -> unit
- output call graph in dotty format with the given filename in results dir 
- val add_edge : t -> pname:IR.Procname.t -> successor_pname:IR.Procname.t -> unit
- add an edge from - pnameto- successor_pnamein the graph, creating a node for- pnameif there isn't one already
- val create_node : t -> IR.Procname.t -> IR.Procname.t list -> unit
- create a new node with edges from - pnameto- successor_pnamesin the graph