Interface IASTCompositeTypeSpecifier

All Superinterfaces:
IASTAttributeOwner, IASTDeclarationListOwner, IASTDeclSpecifier, IASTNameOwner, IASTNode
All Known Subinterfaces:
ICASTCompositeTypeSpecifier, ICPPASTCompositeTypeSpecifier

public interface IASTCompositeTypeSpecifier extends IASTDeclSpecifier, IASTNameOwner, IASTDeclarationListOwner
A composite type specifier represents a composite structure (contains declarations).
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • k_struct

      static final int k_struct
      k_struct represents 'struct' in C and C++.
      See Also:
    • k_union

      static final int k_union
      k_union represents 'union' in C and C++.
      See Also:
    • k_last

      static final int k_last
      k_last allows for subinterfaces to continue enumerating keys.
      See Also:
    • TYPE_NAME

      static final ASTNodeProperty TYPE_NAME
      TYPE_NAME represents the relationship between an IASTCompositeTypeSpecifier and its IASTName.
    • MEMBER_DECLARATION

      static final ASTNodeProperty MEMBER_DECLARATION
      MEMBER_DECLARATION represents the relationship between an IASTCompositeTypeSpecifier and its nestedIASTDeclarations.
  • Method Details

    • getKey

      int getKey()
      Returns the type (key) of this composite specifier.
      Returns:
      key for this type
      See Also:
    • setKey

      void setKey(int key)
      Sets the type (key) of this composite specifier.
      Parameters:
      key -
      See Also:
    • getName

      IASTName getName()
      Returns the name for this composite type. If this is an anonymous type, this will return an empty name.
      Returns:
      the name of the type
    • setName

      void setName(IASTName name)
      Sets the name for this composite type.
      Parameters:
      name -
    • getMembers

      IASTDeclaration[] getMembers()
      Returns a list of member declarations.
      Returns:
      List of IASTDeclaration
    • addMemberDeclaration

      void addMemberDeclaration(IASTDeclaration declaration)
      Adds a member declaration.
      Parameters:
      declaration -
    • getScope

      IScope getScope()
      Returns the scope that this interface eludes to in the logical tree.
    • 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 IASTDeclSpecifier
      Specified by:
      copy in interface IASTNode
      Since:
      5.1