Class FlowSteps::PathSummary

A summary of an inter-procedural data flow path.

The summary includes a start flow label and an end flow label, and keeps track of whether the path contains any call steps from an argument of a function call to the corresponding parameter, and/or any return steps from the return statement of a function to a call of that function.

We only want to build properly matched call/return sequences, so if a path has both call steps and return steps, all return steps must precede all call steps.

Direct supertypes

Fields

Predicates

append

Gets the summary for the path obtained by appending that to this.

appendValuePreserving

Gets the summary for the path obtained by appending that to this, where that must be a path mapping data to data (in other words, it must be a value-preserving path).

getEndLabel

Gets the flow label describing the value at the end of this flow path.

hasCall

Indicates whether the path represented by this summary contains any call steps.

hasReturn

Indicates whether the path represented by this summary contains any return steps.

prepend

Gets the summary for the path obtained by appending this to that.

toString

Gets a textual representation of this path summary.

Charpred