Module FlowSteps

INTERNAL: Do not use directly.

Provides auxiliary predicates for defining inter-procedural data flow configurations.

Import path

semmle.javascript.dataflow.internal.FlowSteps

Imports

Configuration

Provides a class for performing customized inter-procedural data flow.

javascript

Provides classes for working with JavaScript programs, as well as JSON, YAML and HTML.

Predicates

argumentPassing

Holds if arg is passed as an argument into parameter parm through invocation invk of function f.

basicStoreStep

Holds if there is a store step from pred to succ under property prop, that is, succ is the local source of the base of a write of property prop with right-hand side pred.

callStep

Holds if there is a flow step from pred to succ through parameter passing to a function call.

calls

Holds if invk may invoke f.

captures

Holds if f captures the variable defined by def in cap.

getAUseIn

Gets a use of gv in f.

globalFlowStep

Holds if there is a flow step from pred to succ through a global variable. Both pred and succ must be in the same file.

globalPropertyRead

Holds if there is a read from property prop of base, which is an access to global variable base in file f.

globalPropertyWrite

Holds if there is a write to property prop of global variable gv in file f, where the right-hand side of the write is rhs.

loadStep

Holds if there is a load step from pred to succ under property prop, that is, succ is a read of property prop from pred.

localFlowStep

Holds if data can flow in one step from pred to succ, taking additional steps from the configuration into account.

propertyFlowStep

Holds if there is a flow step from pred to succ through an object property.

returnExpr

Holds if source corresponds to an expression returned by f, and sink equals source.

returnStep

Holds if there is a flow step from pred to succ through returning from a function call.

shouldTrackProperties

Holds if flow should be tracked through properties of obj.

Classes

Boolean

A utility class that is equivalent to boolean but does not require type joining.

PathSummary

A summary of an inter-procedural data flow path.

Datatypes

TPathSummary

A summary of an inter-procedural data flow path.

Modules