CodeQL library for Ruby
codeql/ruby-all 0.8.15-dev (changelog, source)
Search

Module DataFlowPublic

Import path

import codeql.ruby.dataflow.internal.DataFlowPublic

Predicates

exprNode

Gets a node corresponding to expression e.

getConstant

Gets a constant reference that may resolve to the top-level constant name.

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

ArrayLiteralNode

A data-flow node corresponding to an array literal. Array literals are desugared into calls to Array.[], so this includes both desugared calls as well as explicit calls.

BlockNode

A data flow node corresponding to a block argument.

CallNode

A data-flow node corresponding to a call in the control-flow graph.

CallableNode

A data flow node corresponding to a method, block, or lambda expression.

ClassNode

A representation of a run-time class.

ConstRef

An access to a constant, such as C, C::D, or a class or module declaration.

ConstantAccessNode

A data flow node corresponding to a constant access expression.

Content

A reference contained in an object.

ContentSet

An entity that represents a set of Contents.

ControlExprNode

A data flow node corresponding to a control expression (e.g. if, while, for).

ExprNode

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

HashLiteralNode

A data-flow node that corresponds to a hash literal. Hash literals are desugared into calls to Hash.[], so this includes both desugared calls as well as explicit calls.

LhsExprNode

A data flow node corresponding to a LHS expression.

LiteralNode

A data flow node corresponding to a literal expression.

LocalSourceNode

A data-flow node that is a source of local flow.

MethodNode

A data flow node corresponding to a method (possibly a singleton method).

ModuleNode

A representation of a run-time module or class.

Node

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

OperationNode

A data flow node corresponding to an operation expression.

PairNode

A representation of a pair such as K => V or K: V.

ParameterNode

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

PostUpdateNode

A node associated with an object after an operation that might have changed its state.

SelfParameterNode

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

SetterCallNode

A call to a setter method.

SsaDefinitionNode

An SSA definition, viewed as a node in a data flow graph.

StmtSequenceNode

A data flow node corresponding to a statement sequence expression.

VariableAccessNode

A data flow node corresponding to a variable access expression.

Modules

BarrierGuard

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

Content

Provides different sub classes of Content.

Predicate signatures

guardChecksSig

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

Aliases

localFlowStep

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