Package soot.JastAddJ

Class ForStmt

    • Field Detail

      • targetOf_ContinueStmt_values

        protected Map targetOf_ContinueStmt_values
      • targetOf_BreakStmt_values

        protected Map targetOf_BreakStmt_values
      • isDAafter_Variable_values

        protected Map isDAafter_Variable_values
      • isDUafter_Variable_values

        protected Map isDUafter_Variable_values
      • isDUbeforeCondition_Variable_values

        protected Map isDUbeforeCondition_Variable_values
      • localLookup_String_values

        protected Map localLookup_String_values
      • localVariableDeclaration_String_values

        protected Map localVariableDeclaration_String_values
      • canCompleteNormally_computed

        protected boolean canCompleteNormally_computed
      • canCompleteNormally_value

        protected boolean canCompleteNormally_value
      • cond_label_computed

        protected boolean cond_label_computed
      • cond_label_value

        protected Stmt cond_label_value
      • begin_label_computed

        protected boolean begin_label_computed
      • begin_label_value

        protected Stmt begin_label_value
      • update_label_computed

        protected boolean update_label_computed
      • update_label_value

        protected Stmt update_label_value
      • end_label_computed

        protected boolean end_label_computed
      • end_label_value

        protected Stmt end_label_value
      • lookupVariable_String_values

        protected Map lookupVariable_String_values
    • Method Detail

      • fullCopy

        public ForStmt fullCopy()
        Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
        Overrides:
        fullCopy in class ASTNode<ASTNode>
        Returns:
        dangling copy of the subtree at this node
      • init$Children

        public void init$Children()
        Initializes the child array to the correct size. Initializes List and Opt nta children.
        Overrides:
        init$Children in class BranchTargetStmt
      • setInitStmtList

        public void setInitStmtList​(List<Stmt> list)
        Replaces the InitStmt list.
        Parameters:
        list - The new list node to be used as the InitStmt list.
      • getNumInitStmt

        public int getNumInitStmt()
        Retrieves the number of children in the InitStmt list.
        Returns:
        Number of children in the InitStmt list.
      • getNumInitStmtNoTransform

        public int getNumInitStmtNoTransform()
        Retrieves the number of children in the InitStmt list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the InitStmt list.
      • getInitStmt

        public Stmt getInitStmt​(int i)
        Retrieves the element at index i in the InitStmt list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the InitStmt list.
      • addInitStmt

        public void addInitStmt​(Stmt node)
        Append an element to the InitStmt list.
        Parameters:
        node - The element to append to the InitStmt list.
      • addInitStmtNoTransform

        public void addInitStmtNoTransform​(Stmt node)
      • setInitStmt

        public void setInitStmt​(Stmt node,
                                int i)
        Replaces the InitStmt list element at index i with the new node node.
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getInitStmts

        public List<Stmt> getInitStmts()
        Retrieves the InitStmt list.
        Returns:
        The node representing the InitStmt list.
      • getInitStmtsNoTransform

        public List<Stmt> getInitStmtsNoTransform()
        Retrieves the InitStmt list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the InitStmt list.
      • getInitStmtList

        public List<Stmt> getInitStmtList()
        Retrieves the InitStmt list.
        Returns:
        The node representing the InitStmt list.
      • getInitStmtListNoTransform

        public List<Stmt> getInitStmtListNoTransform()
        Retrieves the InitStmt list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the InitStmt list.
      • setConditionOpt

        public void setConditionOpt​(Opt<Expr> opt)
        Replaces the optional node for the Condition child. This is the Opt node containing the child Condition, not the actual child!
        Parameters:
        opt - The new node to be used as the optional node for the Condition child.
      • hasCondition

        public boolean hasCondition()
        Check whether the optional Condition child exists.
        Returns:
        true if the optional Condition child exists, false if it does not.
      • getCondition

        public Expr getCondition()
        Retrieves the (optional) Condition child.
        Returns:
        The Condition child, if it exists. Returns null otherwise.
      • setCondition

        public void setCondition​(Expr node)
        Replaces the (optional) Condition child.
        Parameters:
        node - The new node to be used as the Condition child.
      • getConditionOpt

        public Opt<Expr> getConditionOpt()
      • getConditionOptNoTransform

        public Opt<Expr> getConditionOptNoTransform()
        Retrieves the optional node for child Condition. This is the Opt node containing the child Condition, not the actual child!

        This method does not invoke AST transformations.

        Returns:
        The optional node for child Condition.
      • setUpdateStmtList

        public void setUpdateStmtList​(List<Stmt> list)
        Replaces the UpdateStmt list.
        Parameters:
        list - The new list node to be used as the UpdateStmt list.
      • getNumUpdateStmt

        public int getNumUpdateStmt()
        Retrieves the number of children in the UpdateStmt list.
        Returns:
        Number of children in the UpdateStmt list.
      • getNumUpdateStmtNoTransform

        public int getNumUpdateStmtNoTransform()
        Retrieves the number of children in the UpdateStmt list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the UpdateStmt list.
      • getUpdateStmt

        public Stmt getUpdateStmt​(int i)
        Retrieves the element at index i in the UpdateStmt list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the UpdateStmt list.
      • addUpdateStmt

        public void addUpdateStmt​(Stmt node)
        Append an element to the UpdateStmt list.
        Parameters:
        node - The element to append to the UpdateStmt list.
      • addUpdateStmtNoTransform

        public void addUpdateStmtNoTransform​(Stmt node)
      • setUpdateStmt

        public void setUpdateStmt​(Stmt node,
                                  int i)
        Replaces the UpdateStmt list element at index i with the new node node.
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getUpdateStmts

        public List<Stmt> getUpdateStmts()
        Retrieves the UpdateStmt list.
        Returns:
        The node representing the UpdateStmt list.
      • getUpdateStmtsNoTransform

        public List<Stmt> getUpdateStmtsNoTransform()
        Retrieves the UpdateStmt list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the UpdateStmt list.
      • getUpdateStmtList

        public List<Stmt> getUpdateStmtList()
        Retrieves the UpdateStmt list.
        Returns:
        The node representing the UpdateStmt list.
      • getUpdateStmtListNoTransform

        public List<Stmt> getUpdateStmtListNoTransform()
        Retrieves the UpdateStmt list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the UpdateStmt list.
      • setStmt

        public void setStmt​(Stmt node)
        Replaces the Stmt child.
        Parameters:
        node - The new node to replace the Stmt child.
      • getStmt

        public Stmt getStmt()
        Retrieves the Stmt child.
        Returns:
        The current node used as the Stmt child.
      • getStmtNoTransform

        public Stmt getStmtNoTransform()
        Retrieves the Stmt child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the Stmt child.
      • isDAafterInitialization

        public boolean isDAafterInitialization​(Variable v)
      • isDUafterInit

        public boolean isDUafterInit​(Variable v)
      • isDUbeforeCondition

        public boolean isDUbeforeCondition​(Variable v)
      • isDUafterUpdate

        public boolean isDUafterUpdate​(Variable v)
      • continueLabel

        public boolean continueLabel()
        Overrides:
        continueLabel in class Stmt
      • cond_label

        public Stmt cond_label()
      • begin_label

        public Stmt begin_label()
      • update_label

        public Stmt update_label()
      • end_label

        public Stmt end_label()