SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class PhiStmt

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.Node
        |
        +--sandmark.obfuscate.boolsplitter.dtree.Stmt
              |
              +--sandmark.obfuscate.boolsplitter.dtree.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:
PhiJoinStmt, PhiCatchStmt

Field Summary
(package private)  VarExpr target
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
key, parent, valueNumber
 
Constructor Summary
PhiStmt(VarExpr target)
          Constructor.
 
Method Summary
 java.lang.Object clone()
           
 DefExpr[] defs()
          Return the expressions (variables) defined by this PhiStmt.
abstract  java.util.Collection operands()
           
 VarExpr target()
           
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.Stmt
cleanupOnly
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
block, cleanup, copyInto, hasParent, key, parent, replaceWith, replaceWith, setKey, setParent, setValueNumber, toString, valueNumber, visit, visitChildren, visitForceChildren, visitOnly
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

target

VarExpr target
Constructor Detail

PhiStmt

public PhiStmt(VarExpr target)
Constructor.

Parameters:
target - A stack expression or local variable that is the target of this phi-statement.
Method Detail

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 java.util.Collection operands()

clone

public java.lang.Object clone()
Specified by:
clone in class Stmt

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002