Interface IASTInitializerList

All Superinterfaces:
IASTInitializer, IASTInitializerClause, IASTNode
All Known Subinterfaces:
ICPPASTInitializerList

public interface IASTInitializerList extends IASTInitializer, IASTInitializerClause
Braced initializer list, for example as in:
 int a[]= {1,2,3}; 
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

  • Method Details

    • getSize

      int getSize()
      Returns the size of the initializer list, including trivial initializers. This size may be larger than the length of the array returned by getInitializers().
      Since:
      5.2
    • getClauses

      IASTInitializerClause[] getClauses()
      Returns the list of initializers. Depending on how the ast was created, this may omit trivial initializers in order to save memory.
      Since:
      5.2
    • addClause

      void addClause(IASTInitializerClause clause)
      Add an initializer clause to the initializer list. Depending on how the AST is created the initializer may be null. A null initializer will not be returned by getInitializers(), however it contributes to the actual element count (#getSize()).
      Since:
      5.2
    • 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 IASTInitializer
      Specified by:
      copy in interface IASTInitializerClause
      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 IASTInitializer
      Specified by:
      copy in interface IASTInitializerClause
      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
    • getInitializers

      @Deprecated IASTInitializer[] getInitializers()
      Deprecated.
      Replaced by getClauses().
      Restriction:
      This method is not intended to be referenced by clients.
    • addInitializer

      @Deprecated void addInitializer(IASTInitializer initializer)
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.