Interface ICPPASTDesignatedInitializer

All Superinterfaces:
IASTInitializer, IASTInitializerClause, IASTNode, ICPPASTInitializerClause

public interface ICPPASTDesignatedInitializer extends IASTInitializer, ICPPASTInitializerClause
This interface represents a designated initializer, e.g. in struct A y = { .z = 4, .t[1] = 3 };
Since:
6.0
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • DESIGNATOR

      static final ASTNodeProperty DESIGNATOR
      The part of the initializer before the equal sign.
    • OPERAND

      static final ASTNodeProperty OPERAND
      The part of the initializer after the equal sign.
  • Method Details

    • addDesignator

      void addDesignator(ICPPASTDesignator designator)
      Adds a designator to this initializer.
    • getDesignators

      ICPPASTDesignator[] getDesignators()
      Returns all of the designators.
    • getOperand

      Returns the operand of the initializer.
    • setOperand

      void setOperand(ICPPASTInitializerClause operand)
      Sets the initializer clause. Not allowed on a frozen AST.
    • 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
    • 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.