Interface ICPPASTNamespaceDefinition
- All Superinterfaces:
IASTAttributeOwner, IASTDeclaration, IASTDeclarationListOwner, IASTNameOwner, IASTNode
public interface ICPPASTNamespaceDefinition
extends IASTDeclaration, IASTNameOwner, IASTDeclarationListOwner, IASTAttributeOwner
This interface represents a namespace definition in C++.
- 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 IASTNode
IASTNode.CopyStyle -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyNAMESPACE_NAMEis the role served by the name in this interface.static final ASTNodePropertyOWNED_DECLARATIONis the role served by all the nested declarations.Fields inherited from interface IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIERFields inherited from interface IASTDeclaration
EMPTY_DECLARATION_ARRAYFields inherited from interface IASTNameOwner
r_declaration, r_definition, r_reference, r_unclearFields inherited from interface IASTNode
EMPTY_NODE_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDeclaration(IASTDeclaration declaration) Adds a declaration to the namespace.copy()Returns a mutable copy of the tree rooted at this node.copy(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.A namespace contains an ordered sequence of declarations.getName()Returns the name of the namespace.getScope()Returns the scope object represented by this construct.booleanisInline()Returns whether this namespace definition is inline.voidsetIsInline(boolean isInline) Specifies whether the namespace definition is inline.voidSets the name.Methods inherited from interface IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiersMethods inherited from interface IASTDeclarationListOwner
getDeclarationsMethods inherited from interface IASTNameOwner
getRoleForNameMethods inherited from interface IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
-
Field Details
-
OWNED_DECLARATION
OWNED_DECLARATIONis the role served by all the nested declarations. -
NAMESPACE_NAME
NAMESPACE_NAMEis the role served by the name in this interface.
-
-
Method Details
-
getName
-
setName
-
setIsInline
void setIsInline(boolean isInline) Specifies whether the namespace definition is inline.- Since:
- 5.3
-
isInline
boolean isInline()Returns whether this namespace definition is inline.- Since:
- 5.3
-
getDeclarations
IASTDeclaration[] getDeclarations()A namespace contains an ordered sequence of declarations.- Returns:
- an array of declarations contained in the namespace
-
addDeclaration
Adds a declaration to the namespace.- Specified by:
addDeclarationin interfaceIASTDeclarationListOwner- Parameters:
declaration-IASTDeclaration
-
getScope
-
copy
ICPPASTNamespaceDefinition 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 interfaceIASTDeclaration- Specified by:
copyin interfaceIASTNode- Since:
- 5.1
-
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.- Specified by:
copyin interfaceIASTDeclaration- Specified by:
copyin interfaceIASTNode- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.- Since:
- 5.3
-