CodeQL library for C#
codeql/csharp-all 0.4.4 (changelog, source)
Search

Module DataFlowPublic

Import path

import semmle.code.csharp.dataflow.internal.DataFlowPublic

Predicates

assignableDefinitionNode

Gets a node corresponding to the definition def.

exprNode

Gets a node corresponding to expression e.

localExprFlow

Holds if data can flow from e1 to e2 in zero or more local (intra-procedural) steps.

localFlow

Holds if data flows from source to sink in zero or more local (intra-procedural) steps.

parameterNode

Gets the node corresponding to the value of parameter p at function entry.

Classes

AssignableDefinitionNode

A definition, viewed as a node in a data flow graph.

BarrierGuard

DEPRECATED: Use BarrierGuard module instead.

Content

A reference contained in an object. This is either a field, a property, or an element in a collection.

ContentSet

An entity that represents a set of Contents.

ElementContent

A reference to an element in a collection.

ExprNode

An expression, viewed as a node in a data flow graph.

FieldContent

A reference to a field.

Node

An element, viewed as a node in a data flow graph. Either an expression (ExprNode) or a parameter (ParameterNode).

NonLocalJumpNode

A data flow node that jumps between callables. This can be extended in framework code to add additional data flow steps.

ParameterNode

The value of a parameter at function entry, viewed as a node in a data flow graph.

PropertyContent

A reference to a property.

SyntheticFieldContent

A reference to a synthetic field.

Modules

BarrierGuard

Provides a set of barrier nodes for a guard that validates an expression.

Predicate signatures

guardChecksSig

Holds if the guard g validates the expression e upon evaluating to v.

Aliases

localFlowStep

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