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

Module CFG

Provides classes representing the control flow graph.

Import path

import codeql.ruby.CFG

Imports

Locations

Provides classes for working with locations.

Classes

AbruptSuccessor

An abrupt control flow successor.

AnnotatedExitBasicBlock

An annotated exit basic block, that is, a basic block that contains an annotated exit node.

BasicBlock

A basic block, that is, a maximal straight-line sequence of control flow nodes without branches or joins.

BooleanSuccessor

A Boolean control flow successor.

BreakSuccessor

A break control flow successor.

CfgNode

A control flow node.

CfgScope

An AST node with an associated control-flow graph.

ConditionBlock

A basic block that terminates in a condition, splitting the subsequent control flow.

ConditionalSuccessor

A conditional control flow successor. Either a Boolean successor (BooleanSuccessor), a nullness successor (NullnessSuccessor), a matching successor (MatchingSuccessor), or an emptiness successor (EmptinessSuccessor).

ContinueSuccessor

A continue control flow successor.

DirectSuccessor

A direct control flow successor.

EmptinessSuccessor

An emptiness control flow successor.

EntryBasicBlock

An entry basic block, that is, a basic block whose first node is an entry node.

ExceptionSuccessor

An exceptional control flow successor.

ExitBasicBlock

An exit basic block, that is, a basic block whose last node is an exit node.

ExitSuccessor

An exit control flow successor.

GotoSuccessor

A goto control flow successor.

JoinBlock

A basic block with more than one predecessor.

JoinBlockPredecessor

A basic block that is an immediate predecessor of a join block.

JumpSuccessor

A jump control flow successor.

MatchingSuccessor

A matching control flow successor.

NormalSuccessor

A normal control flow successor. This is either a direct or a conditional successor.

NullnessSuccessor

A nullness control flow successor.

RedoSuccessor

A redo control flow successor (rare, used in Ruby).

RetrySuccessor

A retry control flow successor (rare, used in Ruby).

ReturnSuccessor

A return control flow successor.

SuccessorType

The type of a control flow successor.

Modules

Cfg
Split

Provides different kinds of control flow graph splittings.

Aliases

CfgNodes

Provides classes representing nodes in a control flow graph.

Split

A split for a control flow node.