public interface IASTDeclarator extends IASTNameOwner, IASTAttributeOwner
IASTNode.CopyStyle
Modifier and Type | Field and Description |
---|---|
static ASTNodeProperty |
DECLARATOR_NAME
DECLARATOR_NAME represents the relationship between an
IASTDeclarator and an IASTName . |
static IASTDeclarator[] |
EMPTY_DECLARATOR_ARRAY
Constant - empty declarator array
|
static ASTNodeProperty |
INITIALIZER
INITIALIZER represents the relationship between an
IASTDeclarator and an IASTInitializer . |
static ASTNodeProperty |
NESTED_DECLARATOR
NESTED_DECLARATOR represents the relationship between an
IASTDeclarator and a nested IASTDeclarator . |
static ASTNodeProperty |
POINTER_OPERATOR
POINTER_OPERATOR represents the relationship between an
IASTDeclarator and an IASTPointerOperator . |
r_declaration, r_definition, r_reference, r_unclear
ATTRIBUTE, ATTRIBUTE_SPECIFIER
EMPTY_NODE_ARRAY
Modifier and Type | Method and Description |
---|---|
void |
addPointerOperator(IASTPointerOperator operator)
Adds a pointer operator to the declarator.
|
IASTDeclarator |
copy()
Returns a mutable copy of the tree rooted at this node.
|
IASTDeclarator |
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.
|
IASTInitializer |
getInitializer()
Returns the optional initializer for this declarator.
|
IASTName |
getName()
Returns the name of the declarator.
|
IASTDeclarator |
getNestedDeclarator()
If the declarator is nested in parentheses, returns the declarator
as found in those parentheses.
|
IASTPointerOperator[] |
getPointerOperators()
This is the list of pointer operators applied to the type for the declarator.
|
void |
setInitializer(IASTInitializer initializer)
Set the optional initializer.
|
void |
setName(IASTName name)
Sets the name of he declarator.
|
void |
setNestedDeclarator(IASTDeclarator nested) |
getRoleForName
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 IASTDeclarator[] EMPTY_DECLARATOR_ARRAY
static final ASTNodeProperty POINTER_OPERATOR
POINTER_OPERATOR
represents the relationship between an
IASTDeclarator
and an IASTPointerOperator
.static final ASTNodeProperty INITIALIZER
INITIALIZER
represents the relationship between an
IASTDeclarator
and an IASTInitializer
.static final ASTNodeProperty NESTED_DECLARATOR
NESTED_DECLARATOR
represents the relationship between an
IASTDeclarator
and a nested IASTDeclarator
.static final ASTNodeProperty DECLARATOR_NAME
DECLARATOR_NAME
represents the relationship between an
IASTDeclarator
and an IASTName
.IASTPointerOperator[] getPointerOperators()
void addPointerOperator(IASTPointerOperator operator)
operator
- a IASTPointerOperator
to be added.IASTDeclarator getNestedDeclarator()
void setNestedDeclarator(IASTDeclarator nested)
IASTName getName()
void setName(IASTName name)
name
- IASTName
IASTInitializer getInitializer()
void setInitializer(IASTInitializer initializer)
initializer
- IASTInitializer
IASTDeclarator 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)
.
IASTDeclarator 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 IASTNode
style
- IASTNode.CopyStyle
create a copy with or without locations. Please see
IASTNode.CopyStyle
for restrictions on copies with Locations.Copyright (c) IBM Corp. and others 2004, 2014. All Rights Reserved.