Module Cached

A collection of cached types and predicates to be evaluated in the same stage.

Import path

import semmle.code.csharp.dataflow.internal.DataFlowPrivate

Predicates

castNode
clearsContent

Holds if values stored inside content c are cleared at node n. For example, any value stored inside f is cleared at the pre-update node associated with x in x.f = newValue.

commonSubType

Holds if GVNs t1 and t2 may have a common sub type. Neither t1 nor t2 are allowed to be type parameters.

commonSubTypeUnifiableLeft
isUnreachableInCall

Holds if the node n is unreachable when the call context is call.

jumpStepImpl

Holds if pred can flow to succ, by jumping from one callable to another. Additional steps specified by the configuration are not taken into account.

localFlowStepImpl

Holds if data flows from nodeFrom to nodeTo in exactly one local (intra-procedural) step.

nodeIsHidden

Holds if n should be hidden from path explanations.

outRefReturnNode
readStepImpl

Holds if data can flow from node1 to node2 via a read of content c.

simpleLocalFlowStep

This is the local flow predicate that is used as a building block in global data flow. It excludes SSA flow through instance fields, as flow through fields is handled by the global data-flow library, but includes various other steps that are only relevant for global flow.

storeStepImpl

Holds if data can flow from node1 to node2 via an assignment to content c.

Datatypes