Class PhiCatchStmt

All Implemented Interfaces:
Assign

public class PhiCatchStmt extends PhiStmt
A PhiCatchStmt is used to handle variables that are used inside an exception handler. Inside a try block a variable may be used several times. It may be updated, may be invovled in a phi-function, etc. A PhiCatchStmt is placed at the beginning of each expection handling (catch) block to factor together the variables that are live within the protected region.
  • Constructor Details

    • PhiCatchStmt

      public PhiCatchStmt(LocalExpr target)
      Constructor.
      Parameters:
      target - Local variable to which the result of this phi-function is to be assigned.
  • Method Details

    • visitForceChildren

      public void visitForceChildren(TreeVisitor visitor)
      Description copied from class: Node
      Visit the children of this node. Not all Nodes will have children to visit.
      Specified by:
      visitForceChildren in class Node
    • visit

      public void visit(TreeVisitor visitor)
      Specified by:
      visit in class Node
    • hasOperandDef

      public boolean hasOperandDef(LocalExpr def)
      Searches the list of operands for a local variable.
      Parameters:
      def - The local variable definition to search for.
      Returns:
      True, if def is found, otherwise, false.
    • addOperand

      public void addOperand(LocalExpr operand)
      Add a local variable to the operand list for this phi-function.
      Parameters:
      operand - An operand of this phi-function.
    • operands

      public Collection operands()
      Returns the operands to this phi-function.
      Specified by:
      operands in class PhiStmt
    • numOperands

      public int numOperands()
      Returns the number of operands to this phi-function.
    • setOperandAt

      public void setOperandAt(int i, Expr expr)
      Sets the value of one of this phi-function's operands.
      Parameters:
      i - The number parameter to set.
      expr - The new value of the parameter.
    • operandAt

      public Expr operandAt(int i)
      Returns the operand at a given index.