Package org.eclipse.cdt.core.dom.ast.cpp
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 org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
-
-
Field Summary
Fields Modifier and Type Field Description static ASTNodeProperty
NAMESPACE_NAME
NAMESPACE_NAME
is the role served by the name in this interface.static ASTNodeProperty
OWNED_DECLARATION
OWNED_DECLARATION
is the role served by all the nested declarations.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIER
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclaration
EMPTY_DECLARATION_ARRAY
-
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addDeclaration(IASTDeclaration declaration)
Adds a declaration to the namespace.ICPPASTNamespaceDefinition
copy()
Returns a mutable copy of the tree rooted at this node.ICPPASTNamespaceDefinition
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTDeclaration[]
getDeclarations()
A namespace contains an ordered sequence of declarations.IASTName
getName()
Returns the name of the namespace.IScope
getScope()
Returns the scope object represented by this construct.boolean
isInline()
Returns whether this namespace definition is inline.void
setIsInline(boolean isInline)
Specifies whether the namespace definition is inline.void
setName(IASTName name)
Sets the name.-
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
getDeclarations
-
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 Detail
-
OWNED_DECLARATION
static final ASTNodeProperty OWNED_DECLARATION
OWNED_DECLARATION
is the role served by all the nested declarations.
-
NAMESPACE_NAME
static final ASTNodeProperty NAMESPACE_NAME
NAMESPACE_NAME
is the role served by the name in this interface.
-
-
Method Detail
-
getName
IASTName getName()
Returns the name of the namespace.- Returns:
IASTName
-
setName
void setName(IASTName name)
Sets the name.- Parameters:
name
- the name to be set
-
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
void addDeclaration(IASTDeclaration declaration)
Adds a declaration to the namespace.- Specified by:
addDeclaration
in interfaceIASTDeclarationListOwner
- Parameters:
declaration
-IASTDeclaration
-
getScope
IScope getScope()
Returns the scope object represented by this construct.- Returns:
IScope
-
copy
ICPPASTNamespaceDefinition 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 interfaceIASTDeclaration
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-
copy
ICPPASTNamespaceDefinition 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 interfaceIASTDeclaration
- 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.- Since:
- 5.3
-
-