A reference expression. For example:
let ref_const = &foo;
let ref_mut = &mut foo;
let raw_const: &mut i32 = &raw const foo;
let raw_mut: &mut i32 = &raw mut foo;
Import path
import codeql.rust.elements.internal.RefExprImplIndirect supertypes
Predicates
| getOperand | Gets the |
| getOperatorName | Gets the operator name of this operation, if it exists. |
| toStringImpl | INTERNAL: Do not use. |
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 RefExpr |
| getASyntacticArgument | Gets a syntactic argument of this expression. | from InvocationExpr |
| getAnAttr | Gets any of the attrs of this reference expression. | from RefExpr |
| getAnOperand | Gets an operand of this operation. | from Operation |
| getAttr | Gets the | from RefExpr |
| 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 |
| getExpr | Gets the expression of this reference expression, if it exists. | from RefExpr |
| getFile | Gets the primary file where this element occurs. | from Locatable |
| getLocation | from Locatable | |
| getNumberOfAttrs | Gets the number of attrs of this reference expression. | from RefExpr |
| getNumberOfOperands | Gets the number of operands of this operation. | from Operation |
| getNumberOfSyntacticArguments | Gets the number of syntactic arguments of this expression. | from InvocationExpr |
| 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 |
| getResolvedTarget | Gets the resolved target (function or tuple struct/variant), if any. | from InvocationExpr |
| getSyntacticArgument | Gets the argument at syntactic position | from InvocationExpr |
| getSyntacticPositionalArgument | Gets the | from Operation |
| getSyntacticReceiver | Gets the syntactic receiver of this expression, if any. | from InvocationExpr |
| hasEnclosingCfgScope | Holds if this node is inside a CFG scope. | from AstNode |
| hasExpr | Holds if | from RefExpr |
| isConst | Holds if this reference expression is const. | from RefExpr |
| 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 |
| isMut | Holds if this reference expression is mut. | from RefExpr |
| isOverloaded | Holds if this operation is overloaded to the method | from Operation |
| isRaw | Holds if this reference expression is raw. | from RefExpr |
| 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 |