Interface ICPPASTSwitchStatement

All Superinterfaces:
IASTAttributeOwner, IASTNode, IASTStatement, IASTSwitchStatement

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

    • INIT_STATEMENT

      static final ASTNodeProperty INIT_STATEMENT
      INIT_STATEMENT represents the relationship between an ICPPASTSwitchStatement and its nested IASTStatement.
      Since:
      6.5
    • CONTROLLER_DECLARATION

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

    • getControllerDeclaration

      IASTDeclaration getControllerDeclaration()
      In C++, a switch statement can be contorller by a declaration.
      Returns:
      IASTDeclaration
    • setControllerDeclaration

      void setControllerDeclaration(IASTDeclaration d)
      In C++, a switch statement can be contorller by a declaration.
      Parameters:
      d - IASTDeclaration
    • getInitializerStatement

      IASTStatement getInitializerStatement()
      Returns the init-statement for a switch.
      Returns:
      the init-statement, or null if the 'switch' statement doesn't have one.
      Since:
      6.5
    • setInitializerStatement

      void setInitializerStatement(IASTStatement statement)
      Sets the optional init-statement of an switch.
      Parameters:
      statement - this statement should either be a IASTSimpleDeclaration or a IASTExpressionStatement.
      Since:
      6.5
    • getScope

      IScope getScope()
      Get the IScope represented by this switch.
      Returns:
      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
      Specified by:
      copy in interface IASTSwitchStatement
      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
      Specified by:
      copy in interface IASTSwitchStatement
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3