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.
  • Field Details

    • 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 Details

    • 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 interface IASTDeclarationListOwner
      Parameters:
      declaration - IASTDeclaration
    • getScope

      IScope getScope()
      Returns the scope object represented by this construct.
      Returns:
      IScope
    • 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 interface IASTDeclaration
      Specified by:
      copy in interface IASTNode
      Since:
      5.1
    • 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.
      Specified by:
      copy in interface IASTDeclaration
      Specified by:
      copy in interface IASTNode
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3