Interface ICPPASTSwitchStatement

    • Field Detail

      • 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 Detail

      • 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

        ICPPASTSwitchStatement 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

        ICPPASTSwitchStatement copy​(IASTNode.CopyStyle style)
        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