Interface IASTSwitchStatement

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

public interface IASTSwitchStatement extends IASTStatement
The switch statement.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • CONTROLLER_EXP

      static final ASTNodeProperty CONTROLLER_EXP
      CONTROLLER_EXP represents the relationship between an IASTSwitchStatement and it's nested IASTExpression.
    • BODY

      static final ASTNodeProperty BODY
      BODY represents the relationship between an IASTSwitchStatement and it's nested IASTStatement.
  • Method Details

    • getControllerExpression

      IASTExpression getControllerExpression()
      This returns the expression which determines which case to take.
      Returns:
      the controller expression
    • setControllerExpression

      void setControllerExpression(IASTExpression controller)
      Set the controlling expression for the switch.
      Parameters:
      controller - IASTExpression
    • getBody

      IASTStatement getBody()
      Returns the body of the switch statement. TODO - finding the cases could be a logical thing
      Returns:
      IASTStatement
    • setBody

      void setBody(IASTStatement body)
      Set the body for the switch statement.
      Parameters:
      body - IASTStatement
    • 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