CodeQL library for Rust
codeql/rust-all 0.2.5-dev (changelog, source)
Search

Class Impl::BlockExpr

A block expression. For example:

{
    let x = 42;
}
'label: {
    let x = 42;
    x
}

Import path

import codeql.rust.elements.internal.BlockExprImpl

Direct supertypes

Indirect supertypes

Predicates

getTailExpr

Gets the tail expression of this block, if it exists.

Inherited predicates

fromSource

Holds if this element is from source code.

from Locatable
getACfgNode

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

from AstNode
getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

from BlockExpr
getAnAttr

Gets any of the attrs of this block expression.

from BlockExpr
getAttr

Gets the indexth attr of this block expression (0-based).

from BlockExpr
getEnclosingBlock

Gets the block that encloses this node, if any.

from AstNode
getEnclosingCallable

Gets the immediately enclosing callable of this node, if any.

from AstNode
getEnclosingCfgScope

Gets the CFG scope that encloses this node, if any.

from AstNode
getFile

Gets the primary file where this element occurs.

from Locatable
getLabel

Gets the label of this labelable expression, if it exists.

from LabelableExpr
getLocationfrom Locatable
getNumberOfAttrs

Gets the number of attrs of this block expression.

from BlockExpr
getParentNode

Gets the nearest enclosing parent of this node, which is also an AstNode, if any.

from AstNode
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
getResolveStep

Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

from Element
getStmtList

Gets the statement list of this block expression, if it exists.

from BlockExpr
hasEnclosingCfgScope

Holds if this node is inside a CFG scope.

from AstNode
hasLabel

Holds if getLabel() exists.

from LabelableExpr
hasStmtList

Holds if getStmtList() exists.

from BlockExpr
isAsync

Holds if this block expression is async.

from BlockExpr
isConst

Holds if this block expression is const.

from BlockExpr
isFromMacroExpansion

Holds if this node exists only as the result of a macro expansion.

from AstNode
isGen

Holds if this block expression is gen.

from BlockExpr
isInMacroExpansion

Holds if this node is inside a macro expansion.

from AstNode
isMove

Holds if this block expression is move.

from BlockExpr
isTry

Holds if this block expression is try.

from BlockExpr
isUnknownfrom Element
isUnsafe

Holds if this block expression is unsafe.

from BlockExpr
resolve

Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

from Element
toAbbreviatedString

INTERNAL: Do not use.

from Element
toString

Gets the string representation of this element.

from Element
toStringImpl

INTERNAL: Do not use.

from LabelableExpr
toStringPrefix

Get the prefix for the string representation of this element.

from LabelableExpr