Paths.Path
val add_call : bool -> t -> IR.Procname.t -> t -> t
add a call with its sub-path, the boolean indicates whether the subtrace for the procedure should be included
val add_skipped_call :
t ->
IR.Procname.t ->
string ->
IBase.Location.t option ->
t
add a call to a procname that's had to be skipped, along with the reason and the location of the procname when known
val contains_position : t -> IR.PredSymb.path_pos -> bool
check wether the path contains the given position
val create_loc_trace :
t ->
IR.PredSymb.path_pos option ->
Absint.Errlog.loc_trace
Create the location trace of the path, up to the path position if specified
val curr_node : t -> IR.Procdesc.Node.t option
return the current node of the path
val extend : IR.Procdesc.Node.t -> IR.Typ.Name.t option -> session -> t -> t
extend a path with a new node reached from the given session, with an optional string for exceptions
val fold_all_nodes_nocalls :
(t, IR.Procdesc.Node.t, 'accum) IStdlib.IStd.Container.fold
fold over each node in the path, excluding calls, once
val iter_shortest_sequence :
(int -> t -> int -> IR.Typ.Name.t option -> unit) ->
IR.PredSymb.path_pos option ->
t ->
unit
iterate over the shortest sequence belonging to the path, restricting to those containing the given position if given. Do not iterate past the last occurrence of the given position. f level path session exn_opt
is passed the current nesting level
and path
and previous session
and possible exception exn_opt
val start : IR.Procdesc.Node.t -> t
create a new path with given start node