CodeQL library for JavaScript/TypeScript
codeql/javascript-all 2.1.2-dev (changelog, source)
Search

Class 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.

Import path

import semmle.javascript.dataflow.internal.FlowSteps

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.

getStartLabel

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

hasCall

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

hasReturn

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

isLevel

Holds if the path represented by this summary contains no unmatched call or 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