Interface IASTForStatement

  • All Superinterfaces:
    IASTAttributeOwner, IASTNode, IASTStatement
    All Known Subinterfaces:
    ICPPASTForStatement

    public interface IASTForStatement
    extends IASTStatement
    The 'for' statement. The initialization clause can be an expression or a declaration but not both.
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • CONDITION

        static final ASTNodeProperty CONDITION
        CONDITION represents the relationship between a IASTForStatement and its IASTExpression condition.
      • ITERATION

        static final ASTNodeProperty ITERATION
        ITERATION represents the relationship between a IASTForStatement and its IASTExpression iteration expression.
      • BODY

        static final ASTNodeProperty BODY
        BODY represents the relationship between a IASTForStatement and its IASTStatement body.
      • INITIALIZER

        static final ASTNodeProperty INITIALIZER
        INITIALIZER represents the relationship between a IASTForStatement and its IASTDeclaration initializer.
    • Method Detail

      • getInitializerStatement

        IASTStatement getInitializerStatement()
        Returns the initializer statement.
      • setInitializerStatement

        void setInitializerStatement​(IASTStatement statement)
        Parameters:
        statement -
      • getConditionExpression

        IASTExpression getConditionExpression()
        Returns the condition expression for the loop.
        Returns:
        IASTExpression
      • setConditionExpression

        void setConditionExpression​(IASTExpression condition)
        Sets the condition expression for the loop.
        Parameters:
        condition - IASTExpression
      • getIterationExpression

        IASTExpression getIterationExpression()
        Returns the expression that is evaluated after the completion of an iteration of the loop.
        Returns:
        IASTExpression
      • setIterationExpression

        void setIterationExpression​(IASTExpression iterator)
        Sets the expression that is evaluated after the completion of an iteration of the loop.
        Parameters:
        iterator - IASTExpression
      • getBody

        IASTStatement getBody()
        Returns the statements that this for loop controls.
        Returns:
        IASTStatement
      • setBody

        void setBody​(IASTStatement statement)
        Sets the body of the for loop.
        Parameters:
        statement - IASTStatement
      • getScope

        IScope getScope()
        Returns the IScope represented by this for loop.
        Returns:
        IScope
      • copy

        IASTForStatement 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

        IASTForStatement 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
        Parameters:
        style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
        Since:
        5.3