A block expression. For example:
{
let x = 42;
}
'label: {
let x = 42;
x
}
INTERNAL: Do not reference the Generated::BlockExpr class directly.
Use the subclass BlockExpr, where the following predicates are available.
Import path
import codeql.rust.elements.internal.generated.BlockExprDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. |
| getAnAttr | Gets any of the attrs of this block expression. |
| getAttr | Gets the |
| getNumberOfAttrs | Gets the number of attrs of this block expression. |
| getStmtList | Gets the statement list of this block expression, if it exists. |
| getTryBlockModifier | Gets the try block modifier of this block expression, if it exists. |
| hasStmtList | Holds if |
| hasTryBlockModifier | Holds if |
| isAsync | Holds if this block expression is async. |
| isConst | Holds if this block expression is const. |
| isGen | Holds if this block expression is gen. |
| isMove | Holds if this block expression is move. |
| isUnsafe | Holds if this block expression is unsafe. |
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 |
| 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 |
| getLocation | from Locatable | |
| getParentNode | Gets the nearest enclosing parent of this node, which is also an | 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 |
| hasEnclosingCfgScope | Holds if this node is inside a CFG scope. | from AstNode |
| hasLabel | Holds if | from LabelableExpr |
| isFromMacroExpansion | Holds if this node exists only as the result of a macro expansion. | from AstNode |
| isInMacroExpansion | Holds if this node is inside a macro expansion. | from AstNode |
| isUnknown | from Element | |
| resolve | Gets the element that should substitute this element in the explicit AST, applying | 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 |