Interface ICPPASTLinkageSpecification

All Superinterfaces:
IASTDeclaration, IASTDeclarationListOwner, IASTNode

public interface ICPPASTLinkageSpecification extends IASTDeclaration, IASTDeclarationListOwner
This interface represents a linkage specification. e.g. extern "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 owned declaration role for linkages.
  • Method Details

    • getLiteral

      String getLiteral()
      Returns the "literal" that represents the linkage.
      Returns:
      String
    • setLiteral

      void setLiteral(String value)
      Sets the "literal" that represents the linkage.
      Parameters:
      value - the "literal" that represents the linkage
    • getDeclarations

      IASTDeclaration[] getDeclarations()
      Returns all of the declarations.
      Returns:
      IASTDeclaration[]
    • addDeclaration

      void addDeclaration(IASTDeclaration declaration)
      Adds another declaration to the linkage.
      Specified by:
      addDeclaration in interface IASTDeclarationListOwner
      Parameters:
      declaration - the declaration to add
    • 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