Interface ICPPASTAliasDeclaration

All Superinterfaces:
IASTAttributeOwner, IASTDeclaration, IASTNameOwner, IASTNode

public interface ICPPASTAliasDeclaration extends IASTDeclaration, IASTNameOwner, IASTAttributeOwner
Represents a C++ alias declaration. e.g. struct Type {}; using Alias = Type;
Since:
5.5
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • EMPTY_ALIAS_DECLARATION_ARRAY

      static final ICPPASTAliasDeclaration[] EMPTY_ALIAS_DECLARATION_ARRAY
    • ALIAS_NAME

      static final ASTNodeProperty ALIAS_NAME
      ALIAS_NAME is the name that is brought into the local scope.
    • TARGET_TYPEID

      static final ASTNodeProperty TARGET_TYPEID
      MAPPING_TYPEID represents the pre-existing type id which the new symbol aliases.
  • Method Details

    • getAlias

      IASTName getAlias()
      Returns the alias name.
      Returns:
      IASTName
    • setAlias

      void setAlias(IASTName aliasName)
      Sets the alias name.
      Parameters:
      aliasName - IASTName
    • getMappingTypeId

      ICPPASTTypeId getMappingTypeId()
      Returns the mapping type id.
      Returns:
      ICPPASTTypeId
    • setMappingTypeId

      void setMappingTypeId(ICPPASTTypeId mappingTypeId)
      Sets the mapping type id.
      Parameters:
      mappingTypeId - ICPPASTTypeId
    • 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
    • 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.