Package org.eclipse.cdt.core.dom.ast
Interface IASTCompositeTypeSpecifier
- All Superinterfaces:
IASTAttributeOwner
,IASTDeclarationListOwner
,IASTDeclSpecifier
,IASTNameOwner
,IASTNode
- All Known Subinterfaces:
ICASTCompositeTypeSpecifier
,ICPPASTCompositeTypeSpecifier
public interface IASTCompositeTypeSpecifier
extends IASTDeclSpecifier, IASTNameOwner, IASTDeclarationListOwner
A composite type specifier represents a composite structure (contains declarations).
- 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
Modifier and TypeFieldDescriptionstatic final int
k_last
allows for subinterfaces to continue enumerating keys.static final int
k_struct
represents 'struct' in C and C++.static final int
k_union
represents 'union' in C and C++.static final ASTNodeProperty
MEMBER_DECLARATION
represents the relationship between anIASTCompositeTypeSpecifier
and its nestedIASTDeclaration
s.static final ASTNodeProperty
TYPE_NAME
represents the relationship between anIASTCompositeTypeSpecifier
and itsIASTName
.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIER
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier
ALIGNMENT_SPECIFIER, sc_auto, sc_extern, sc_mutable, sc_register, sc_static, sc_typedef, sc_unspecified
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addMemberDeclaration
(IASTDeclaration declaration) Adds a member declaration.copy()
Returns a mutable copy of the tree rooted at this node.int
getKey()
Returns the type (key) of this composite specifier.Returns a list of member declarations.getName()
Returns the name for this composite type.getScope()
Returns the scope that this interface eludes to in the logical tree.void
setKey
(int key) Sets the type (key) of this composite specifier.void
Sets the name for this composite type.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiers
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclarationListOwner
addDeclaration, getDeclarations
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier
copy, getAlignmentSpecifiers, getStorageClass, isConst, isInline, isRestrict, isVolatile, setAlignmentSpecifiers, setConst, setInline, setRestrict, setStorageClass, setVolatile
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
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
-
Field Details
-
k_struct
static final int k_structk_struct
represents 'struct' in C and C++.- See Also:
-
k_union
static final int k_unionk_union
represents 'union' in C and C++.- See Also:
-
k_last
static final int k_lastk_last
allows for subinterfaces to continue enumerating keys.- See Also:
-
TYPE_NAME
TYPE_NAME
represents the relationship between anIASTCompositeTypeSpecifier
and itsIASTName
. -
MEMBER_DECLARATION
MEMBER_DECLARATION
represents the relationship between anIASTCompositeTypeSpecifier
and its nestedIASTDeclaration
s.
-
-
Method Details
-
getKey
int getKey()Returns the type (key) of this composite specifier. -
setKey
void setKey(int key) Sets the type (key) of this composite specifier. -
getName
IASTName getName()Returns the name for this composite type. If this is an anonymous type, this will return an empty name.- Returns:
- the name of the type
-
setName
Sets the name for this composite type.- Parameters:
name
-
-
getMembers
IASTDeclaration[] getMembers()Returns a list of member declarations.- Returns:
- List of IASTDeclaration
-
addMemberDeclaration
Adds a member declaration.- Parameters:
declaration
-
-
getScope
IScope getScope()Returns the scope that this interface eludes to in the logical tree. -
copy
IASTCompositeTypeSpecifier 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 interfaceIASTDeclSpecifier
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-