Callgraph.UsesSeveral useful functions over the callgraph
val iter_in_order : ( Frama_c_kernel.Kernel_function.t -> unit ) -> unitIterate over all the functions, in the callgraph order, i.e. from callers to callees. In case of cycles (mutual recursive functions), the order is unspecified.
val iter_in_rev_order : ( Frama_c_kernel.Kernel_function.t -> unit ) -> unitIterate over all the functions, in the callgraph reverse order, i.e. from callees to callers. In case of cycles (mutual recursive functions), the order is unspecified.
val iter_on_callers :
( Frama_c_kernel.Kernel_function.t -> unit ) ->
Frama_c_kernel.Kernel_function.t ->
unitIterate over all the callers of a given function in a (reverse) depth-first way. Do nothing if the function is not in the callgraph.
val iter_on_callees :
( Frama_c_kernel.Kernel_function.t -> unit ) ->
Frama_c_kernel.Kernel_function.t ->
unitIterate over all the callees of a given function in a (reverse) depth-first way. Do nothing if the function is not in the callgraph.
val accept_base :
with_formals:bool ->
with_locals:bool ->
Frama_c_kernel.Kernel_function.t ->
Frama_c_kernel.Base.t ->
boolaccept_base formals locals kf b returns true if and only if b is
kfkf and the corresponding argument is true.