Interface IASTCompoundStatement

All Superinterfaces:
IASTAttributeOwner, IASTNode, IASTStatement
All Known Subinterfaces:
ICPPASTCompoundStatement

public interface IASTCompoundStatement extends IASTStatement
This represents a block of statements.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • NESTED_STATEMENT

      static final ASTNodeProperty NESTED_STATEMENT
      NESTED_STATEMENT represents the relationship between an IASTCompoundStatement and its nested IASTStatement
  • Method Details

    • getStatements

      IASTStatement[] getStatements()
      Returns the statements in this block.
      Returns:
      Array of IASTStatement
    • addStatement

      void addStatement(IASTStatement statement)
      Adds a statement to the compound block.
      Parameters:
      statement - the statement to be added
    • getScope

      IScope getScope()
      Returns IScope node that this node eludes to in the logical tree.
      Returns:
      the IScope
    • 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 IASTNode
      Specified by:
      copy in interface IASTStatement
      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 IASTNode
      Specified by:
      copy in interface IASTStatement
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3