SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class PhiCatchStmt

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.Node
        |
        +--sandmark.obfuscate.boolsplitter.dtree.Stmt
              |
              +--sandmark.obfuscate.boolsplitter.dtree.PhiStmt
                    |
                    +--sandmark.obfuscate.boolsplitter.dtree.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.


Field Summary
(package private)  java.util.ArrayList operands
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.PhiStmt
target
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
key, parent, valueNumber
 
Constructor Summary
PhiCatchStmt(LocalExpr target)
          Constructor.
 
Method Summary
 void addOperand(LocalExpr operand)
          Add a local variable to the operand list for this phi-function.
 boolean hasOperandDef(LocalExpr def)
          Searches the list of operands for a local variable.
 int numOperands()
          Returns the number of operands to this phi-function.
 Expr operandAt(int i)
          Returns the operand at a given index.
 java.util.Collection operands()
          Returns the operands to this phi-function.
 void setOperandAt(int i, Expr expr)
          Sets the value of one of this phi-function's operands.
 void visit(TreeVisitor visitor)
           
 void visitForceChildren(TreeVisitor visitor)
          Visit the children of this node.
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.PhiStmt
clone, defs, 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, visitChildren, visitOnly
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

operands

java.util.ArrayList operands
Constructor Detail

PhiCatchStmt

public PhiCatchStmt(LocalExpr target)
Constructor.

Parameters:
target - Local variable to which the result of this phi-function is to be assigned.
Method Detail

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 java.util.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.


SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002