public interface ICPPASTEnumerationSpecifier extends IASTEnumerationSpecifier, ICPPASTDeclSpecifier
enum struct : unsigned int {...}
IASTEnumerationSpecifier.IASTEnumerator
IASTNode.CopyStyle
Modifier and Type | Field and Description |
---|---|
static ASTNodeProperty |
BASE_TYPE |
ENUMERATION_NAME, ENUMERATOR
r_declaration, r_definition, r_reference, r_unclear
ALIGNMENT_SPECIFIER, sc_auto, sc_extern, sc_mutable, sc_register, sc_static, sc_typedef, sc_unspecified
ATTRIBUTE, ATTRIBUTE_SPECIFIER
EMPTY_NODE_ARRAY
Modifier and Type | Method and Description |
---|---|
ICPPASTEnumerationSpecifier |
copy()
Returns a mutable copy of the tree rooted at this node.
|
ICPPASTEnumerationSpecifier |
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.
|
ICPPASTDeclSpecifier |
getBaseType()
Returns the base type for this enum or
null if it was not specified. |
ICPPScope |
getScope()
Returns the scope containing the enumerators of this enumeration,
or
null if the specifier is opaque. |
boolean |
isOpaque()
An opaque specifier does not have a body.
|
boolean |
isScoped()
An enum is scoped if it uses the enumeration head
enum class or enum struct . |
void |
setBaseType(ICPPASTDeclSpecifier baseType)
Not allowed on frozen ast.
|
void |
setIsOpaque(boolean isOpaque)
Not allowed on frozen AST.
|
void |
setIsScoped(boolean isScoped)
Not allowed on frozen AST.
|
addEnumerator, getEnumerators, getName, setName
getRoleForName
isConstexpr, isExplicit, isFriend, isThreadLocal, isVirtual, setConstexpr, setExplicit, setFriend, setThreadLocal, setVirtual
getAlignmentSpecifiers, getStorageClass, isConst, isInline, isRestrict, isVolatile, setAlignmentSpecifiers, setConst, setInline, setRestrict, setStorageClass, setVolatile
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiers
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
static final ASTNodeProperty BASE_TYPE
ICPPASTEnumerationSpecifier copy()
IASTNode
copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == falsePreprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
Calling this method is equivalent to copy(CopyStyle.withoutLocations)
.
copy
in interface IASTDeclSpecifier
copy
in interface IASTEnumerationSpecifier
copy
in interface IASTNode
copy
in interface ICPPASTDeclSpecifier
ICPPASTEnumerationSpecifier copy(IASTNode.CopyStyle style)
IASTNode
copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == falsePreprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
copy
in interface IASTDeclSpecifier
copy
in interface IASTEnumerationSpecifier
copy
in interface IASTNode
copy
in interface ICPPASTDeclSpecifier
style
- IASTNode.CopyStyle
create a copy with or without locations. Please see
IASTNode.CopyStyle
for restrictions on copies with Locations.void setIsScoped(boolean isScoped)
boolean isScoped()
enum class
or enum struct
.void setIsOpaque(boolean isOpaque)
boolean isOpaque()
void setBaseType(ICPPASTDeclSpecifier baseType)
ICPPASTDeclSpecifier getBaseType()
null
if it was not specified.ICPPScope getScope()
null
if the specifier is opaque.