Index of values


A
add [Register_gui.Highlighted_stmt]
add [Hptset.S]
add x s returns a set containing all elements of s, plus x.
add_downward_call [Compute_impact]
Add a downward call to the worklist the first time it is encountered.
add_to_do [Compute_impact]
From now on, most functions will pass init = false to add_to_do_aux.
add_to_do_aux [Compute_impact]
Add some nodes to the todo field of the worklist, while enforcing some invariants.
add_to_do_part_of_initial [Compute_impact]
Mark a new node as impacted, and simultaneouly mark that it is equivalent to nodes that are all initial nodes
add_to_reason [Compute_impact]
Add a new edge in the graph explaining the results
add_to_result [Compute_impact]
Add a node to the sets of impacted nodes.
all_call_input_nodes [Pdg_aux]
all_call_input_nodes caller callee call_stmt find all the nodes above call_stmt in the pdg of caller that define the inputs of callee.
all_call_out_nodes [Pdg_aux]
all_pragmas_kf [Register]
all_upward_callers [Compute_impact]
Fill out the field upward_calls of the worklist.
apply_on_stmt [Register_gui]

C
cardinal [Hptset.S]
Return the number of elements of a set.
choose [Hptset.S]
Return one element of the given set, or raise Not_found if the set is empty.
clear [State_builder.Ref]
Reset the reference to its default value.
clear_caches [Hptset.S]
Clear all the caches used internally by the functions of this module.
compute_from_stmt [Register]
compute_multiple_stmts [Register]
compute_pragmas [Register]
contains_single_elt [Hptset.S]
copy [Datatype.Set]
copy [Datatype.S]
Deep copy: no possible sharing between x and copy x.

D
default_edge_attributes [Reason_graph.Printer]
default_vertex_attributes [Reason_graph.Printer]
descr [Datatype.Set]
diff [Hptset.S]
Set difference.
downward_calls_inputs [Compute_impact]
Propagate impact for all calls registered in downward_calls.
downward_one_call_inputs [Compute_impact]
Propagate impact for one call registered in downward_calls.
downward_one_call_node [Compute_impact]
Propagate impact from node node if it corresponds to a call statement.
dst [Reason_graph.Printer.E]

E
edge_attributes [Reason_graph.Printer]
elements [Hptset.S]
empty [Hptset.S]
The empty set.
empty [Reason_graph]
exists [Hptset.S]
exists p s checks if at least one element of the set satisfies the predicate p.

F
file_tree_decorate [Register_gui]
filter [Hptset.S]
filter p s returns the set of all elements in s that satisfy predicate p.
filter [Compute_impact]
Auxiliary function, used to refuse some nodes that should not go in the results
find_call_input_nodes [Pdg_aux]
find_call_input_nodes pdg_caller s ?z input find all the nodes of pdg_caller that define the pdg input input above the call statement s.
fixpoint [Compute_impact]
Make the worklist reach a fixpoint, by propagating all possible source of impact as much as possible.
fold [Hptset.S]
fold f s a computes (f xN ... (f x2 (f x1 a))...), where x1 ... xN are the elements of s, in increasing order.
for_all [Hptset.S]
for_all p s checks if all elements of the set satisfy the predicate p.

G
get [State_builder.Ref]
Get the referenced value.
get_subgraph [Reason_graph.Printer]
graph_attributes [Reason_graph.Printer]

H
hash [Datatype.Set]

I
impact [Compute_impact]
Impact of a set of nodes.
impact_highlighter [Register_gui]
impact_in_kf [Register_gui]
impact_in_kf [Compute_impact]
Nodes impacted in a given function
impact_panel [Register_gui]
impact_selector [Register_gui]
impact_statement [Register_gui]
impact_statement_ui [Register_gui]
impacted_nodes [Compute_impact]
Impact of a list of statements coming from the same function
impacted_stmts [Compute_impact]
Impact of a list of statements as a set of statements
initial_nodes [Compute_impact]
To compute the impact of a statement, find the initial PDG nodes that must be put in the worklist.
initial_to_do_list [Compute_impact]
Build the initial value of the todo field, from a list of initial nodes
initial_worklist [Compute_impact]
Compute the initial state of the worklist.
inter [Hptset.S]
Set intersection.
internal_pretty_code [Datatype.Set]
intersects [Hptset.S]
intersects s1 s2 returns true if and only if s1 and s2 have an element in common
intraprocedural [Compute_impact]
Empty the todo field of the worklist by applying as many basic steps as possible: intra-procedural steps, plus basic inter-procedural steps on downward calls.
intraprocedural_one_node [Compute_impact]
Purely intra-procedural propagation from one impacted node.
is_empty [Hptset.S]
Test whether a set is empty or not.
is_on [Options]
iter [Hptset.S]
iter f s applies f in turn to all elements of s.
iter_edges_e [Reason_graph.Printer]
iter_vertex [Reason_graph.Printer]

K
kfmns_find_default [Compute_impact]

M
main [Register_gui]
main [Register]
make_type [Datatype.Hashtbl]
max_elt [Hptset.S]
Same as Set.S.min_elt, but returns the largest element of the given set.
mem [Register_gui.Highlighted_stmt]
mem [Hptset.S]
mem x s tests whether x belongs to the set s.
mem_kf [Register_gui.Highlighted_stmt]
mem_project [Datatype.Set]
memo [Datatype.Hashtbl]
memo tbl k f returns the binding of k in tbl.
min_elt [Hptset.S]
Return the smallest element of the given set (with respect to the Ord.compare ordering), or raise Not_found if the set is empty.

N
name [Datatype.Set]
node_to_skip [Compute_impact]
return true if the location in n is contained in skip, in which case the node should be skipped entirely
node_undef_list_to_set [Pdg_aux]
nodes_to_stmts [Compute_impact]
Transform a set of PDG nodes into a set of statements

P
packed_descr [Datatype.Set]
partition [Hptset.S]
partition p s returns a pair of sets (s1, s2), where s1 is the set of all the elements of s that satisfy the predicate p, and s2 is the set of all the elements of s that do not satisfy p.
pick [Compute_impact]
Choose one node to process in the todo list, if one remains
pretty [Reason_graph.Printer.V]
pretty [Datatype.Set]
pretty_code [Datatype.Set]
pretty_info [Register_gui]
print_dot_graph [Reason_graph]
print_reason [Reason_graph]
print_results [Register]

R
reason_graph_window [Register_gui]
remove [Hptset.S]
remove x s returns a set containing all elements of s, except x.
remove_from_unimpacted_initial [Compute_impact]
Mark that n comes from an indirect impact, ie.
remove_unimpacted [Compute_impact]
reprs [Datatype.Set]
result_by_kf [Compute_impact]
Extract the current results for a given function
result_to_nodes [Compute_impact]
Transform the result of an analysis into a set of PDG nodes

S
set [State_builder.Ref]
Change the referenced value.
set [Register_gui.SelectedStmt]
singleton [Hptset.S]
singleton x returns the one-element set containing only x.
skip [Compute_impact]
Computation of the skip field from the -impact-skip option
skip_vars [Compute_impact]
Computation of the skip field from a list of variables
slice [Register]
something_to_do [Compute_impact]
split [Hptset.S]
split x s returns a triple (l, present, r), where l is the set of elements of s that are strictly less than x; r is the set of elements of s that are strictly greater than x; present is false if s contains no element equal to x, or true if s contains an element equal to x.
src [Reason_graph.Printer.E]
subset [Hptset.S]
subset s1 s2 tests whether the set s1 is a subset of the set s2.

T
to_dot_file [Reason_graph]
ty [Datatype.Set]

U
unimpacted_initial_by_kf [Compute_impact]
Extract the node of the kf that are only part of the initial impact
union [Hptset.S]
Set union.
update_column [Register_gui]
upward_in_callers [Compute_impact]
Upward propagation in all the callers.

V
varname [Datatype.Set]
vertex_attributes [Reason_graph.Printer]
vertex_name [Reason_graph.Printer]