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
FieldsModifier and TypeFieldDescriptionstatic final intk_lastallows for subinterfaces to continue enumerating keys.static final intk_structrepresents 'struct' in C and C++.static final intk_unionrepresents 'union' in C and C++.static final ASTNodePropertyMEMBER_DECLARATIONrepresents the relationship between anIASTCompositeTypeSpecifierand its nestedIASTDeclarations.static final ASTNodePropertyTYPE_NAMErepresents the relationship between anIASTCompositeTypeSpecifierand itsIASTName.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIERFields 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_unspecifiedFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclearFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionvoidaddMemberDeclaration(IASTDeclaration declaration) Adds a member declaration.copy()Returns a mutable copy of the tree rooted at this node.intgetKey()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.voidsetKey(int key) Sets the type (key) of this composite specifier.voidSets the name for this composite type.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiersMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclarationListOwner
addDeclaration, getDeclarationsMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier
copy, getAlignmentSpecifiers, getStorageClass, isConst, isInline, isRestrict, isVolatile, setAlignmentSpecifiers, setConst, setInline, setRestrict, setStorageClass, setVolatileMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForNameMethods 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_structrepresents 'struct' in C and C++.- See Also:
-
k_union
static final int k_unionk_unionrepresents 'union' in C and C++.- See Also:
-
k_last
static final int k_lastk_lastallows for subinterfaces to continue enumerating keys.- See Also:
-
TYPE_NAME
TYPE_NAMErepresents the relationship between anIASTCompositeTypeSpecifierand itsIASTName. -
MEMBER_DECLARATION
MEMBER_DECLARATIONrepresents the relationship between anIASTCompositeTypeSpecifierand its nestedIASTDeclarations.
-
-
Method Details
-
getKey
int getKey()Returns the type (key) of this composite specifier.- Returns:
- key for this type
- See Also:
-
setKey
void setKey(int key) Sets the type (key) of this composite specifier.- Parameters:
key-- See Also:
-
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:IASTNodeReturns 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:
copyin interfaceIASTDeclSpecifier- Specified by:
copyin interfaceIASTNode- Since:
- 5.1
-