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

Class VariableCapture::CaptureInput::ClosureExpr

An expression constructing a closure that may capture one or more variables. This can for example be a lambda or a constructor call of a locally defined object.

Import path

import codeql.ruby.dataflow.internal.DataFlowPrivate

Direct supertypes

Indirect supertypes

Fields

Inherited fields

Predicates

hasAliasedAccess

Holds if f is an expression that may hold the value of the closure and may occur in a position where the value escapes or where the closure may be invoked.

hasBody

Holds if body is the callable body of this closure. A lambda expression only has one body, but in general a locally defined object may have multiple such methods and constructors.

Inherited predicates

getAPredecessor

Gets an immediate predecessor, if any.

from CfgNode
getAPredecessor

Gets an immediate predecessor node of a given flow type, if any.

from CfgNode
getAPrimaryQlClass

Gets the name of the primary QL class for this node.

from ExprCfgNode
getASplit

Gets a split for this control flow node, if any.

from AstCfgNodeImpl
getASuccessor

Gets an immediate successor, if any.

from CfgNode
getASuccessor

Gets a successor node of a given type, if any.

from CfgNode
getAstNode

Gets the AST node that this node corresponds to, if any.

from AstCfgNodeImpl
getBasicBlock

Gets the basic block that this control flow node belongs to.

from CfgNode
getConstantValue

Gets the constant value of this expression, if any.

from ExprCfgNode
getExpr

Gets the underlying expression.

from ExprCfgNode
getFile

Gets the file of this control flow node.

from CfgNode
getLocation

Gets the location of this control flow node.

from AstCfgNodeImpl
getScope

Gets the scope of this node.

from NodeImpl
getSplitsString

Gets a comma-separated list of strings for each split in this node, if any.

from AstCfgNodeImpl
hasCfgNode

Holds if the ith node of basic block bb evaluates this expression.

from Expr
isBranch

Holds if this node has more than one successor.

from NodeImpl
isCondition

Holds if this control flow node has conditional successors.

from NodeImpl
isJoin

Holds if this node has more than one predecessor.

from NodeImpl
toString

Gets a textual representation of this control flow node.

from AstCfgNodeImpl

Charpred