A variant in an enum declaration.
For example:
enum E { A, B(i32), C { x: i32 } }
// ^ ^^^^^^ ^^^^^^^^^^^^
Import path
import codeql.rust.elements.internal.VariantImplDirect supertypes
Indirect supertypes
Predicates
| getEnum | Gets the enum that this variant belongs to. |
| getNumberOfFields | Gets the number of fields of this variant. |
| getStructField | Gets the record field named |
| getTupleField | Gets the |
| isStruct | Holds if this variant uses struct fields. |
| isTuple | Holds if this variant uses tuple fields. |
| isUnit | Holds if this variant does not have a field list. |
| 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 Variant |
| getAnAttr | Gets any of the attrs of this variant. | from Variant |
| getAttr | Gets the | from Variant |
| getCanonicalPath | Gets the canonical path of this item, if any. | from Addressable |
| getCanonicalPath | Gets the canonical path of this item, if any. | from Addressable |
| getDiscriminant | Gets the discriminant of this variant, if it exists. | from Variant |
| 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 |
| getFieldList | Gets the field list of this variant, if it exists. | from Variant |
| getFile | Gets the primary file where this element occurs. | from Locatable |
| getLocation | from Locatable | |
| getName | Gets the name of this variant, if it exists. | from Variant |
| getNumberOfAttrs | Gets the number of attrs of this variant. | from Variant |
| 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 |
| getVisibility | Gets the visibility of this variant, if it exists. | from Variant |
| hasCanonicalPath | Holds if this item has a canonical path. | from Addressable |
| hasDiscriminant | Holds if | from Variant |
| hasEnclosingCfgScope | Holds if this node is inside a CFG scope. | from AstNode |
| hasFieldList | Holds if | from Variant |
| hasName | Holds if | from Variant |
| hasVisibility | Holds if | from Variant |
| 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 |