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] |