Class PhiStmt

All Implemented Interfaces:
Assign
Direct Known Subclasses:
PhiCatchStmt, PhiJoinStmt

public abstract class PhiStmt extends Stmt implements Assign
A PhiStmt is inserted into a CFG in Single Static Assignment for. It is used to "merge" uses of the same variable in different basic blocks.
See Also:
  • Constructor Details

    • PhiStmt

      public PhiStmt(VarExpr target)
      Constructor.
      Parameters:
      target - A stack expression or local variable that is the target of this phi-statement.
  • Method Details

    • target

      public VarExpr target()
    • defs

      public DefExpr[] defs()
      Return the expressions (variables) defined by this PhiStmt. In this case, only the target is defined.
      Specified by:
      defs in interface Assign
    • operands

      public abstract Collection operands()
    • clone

      public Object clone()
      Specified by:
      clone in class Stmt