Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTDesignatedInitializer
-
- All Superinterfaces:
IASTInitializer
,IASTInitializerClause
,IASTNode
,ICPPASTInitializerClause
public interface ICPPASTDesignatedInitializer extends IASTInitializer, ICPPASTInitializerClause
This interface represents a designated initializer, e.g. in struct A y = { .z = 4, .t[1] = 3 };- Since:
- 6.0
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
-
-
Field Summary
Fields Modifier and Type Field Description static ASTNodeProperty
DESIGNATOR
The part of the initializer before the equal sign.static ASTNodeProperty
OPERAND
The part of the initializer after the equal sign.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTInitializer
EMPTY_INITIALIZER_ARRAY
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addDesignator(ICPPASTDesignator designator)
Adds a designator to this initializer.ICPPASTDesignatedInitializer
copy()
Returns a mutable copy of the tree rooted at this node.ICPPASTDesignatedInitializer
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.ICPPASTDesignator[]
getDesignators()
Returns all of the designators.ICPPASTInitializerClause
getOperand()
Returns the operand of the initializer.void
setOperand(ICPPASTInitializerClause operand)
Sets the initializer clause.-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTInitializerClause
getEvaluation
-
-
-
-
Field Detail
-
DESIGNATOR
static final ASTNodeProperty DESIGNATOR
The part of the initializer before the equal sign.
-
OPERAND
static final ASTNodeProperty OPERAND
The part of the initializer after the equal sign.
-
-
Method Detail
-
addDesignator
void addDesignator(ICPPASTDesignator designator)
Adds a designator to this initializer.
-
getDesignators
ICPPASTDesignator[] getDesignators()
Returns all of the designators.
-
getOperand
ICPPASTInitializerClause getOperand()
Returns the operand of the initializer.
-
setOperand
void setOperand(ICPPASTInitializerClause operand)
Sets the initializer clause. Not allowed on a frozen AST.
-
copy
ICPPASTDesignatedInitializer copy()
Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor 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)
.- Specified by:
copy
in interfaceIASTInitializer
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
-
copy
ICPPASTDesignatedInitializer copy(IASTNode.CopyStyle style)
Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.- Specified by:
copy
in interfaceIASTInitializer
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.
-
-