SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class LocalExpr

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.Node
        |
        +--sandmark.obfuscate.boolsplitter.dtree.Expr
              |
              +--sandmark.obfuscate.boolsplitter.dtree.DefExpr
                    |
                    +--sandmark.obfuscate.boolsplitter.dtree.MemExpr
                          |
                          +--sandmark.obfuscate.boolsplitter.dtree.VarExpr
                                |
                                +--sandmark.obfuscate.boolsplitter.dtree.LocalExpr
All Implemented Interfaces:
java.lang.Cloneable, LeafExpr

public class LocalExpr
extends VarExpr
implements LeafExpr

LocalExpr represents an expression that accesses a variable in a method's local variable table. Note that during register allocation the index becomes the color that the LocalExpr (variable) is assigned.

See Also:
Tree.newStackLocal(int, EDU.purdue.cs.bloat.editor.Type), Tree.newLocal(int, EDU.purdue.cs.bloat.editor.Type)

Field Summary
(package private)  boolean fromStack
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.VarExpr
index
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.DefExpr
next, uses, version
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Expr
B, BARRAY, BOOL, BOOLARRAY, range, type, UNDEF
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
key, parent, valueNumber
 
Constructor Summary
LocalExpr(int index, boolean fromStack, EDU.purdue.cs.bloat.editor.Type type)
          Constructor.
LocalExpr(int index, EDU.purdue.cs.bloat.editor.Type type)
          Constructor.
 
Method Summary
 java.lang.Object clone()
           
 boolean equalsExpr(Expr other)
          Compares this expression to another.
 int exprHashCode()
          Returns the hash code for this expresion.
 boolean fromStack()
           
 boolean isReturnAddress()
          Returns true if the type of this expression is a return address.
 void visit(TreeVisitor visitor)
           
 void visitForceChildren(TreeVisitor visitor)
          Visit the children of this node.
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.VarExpr
def, index, setIndex
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.DefExpr
addUse, cleanupOnly, hasUse, isDef, removeUse, uses, version
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.Expr
comparator, copyInto, mergeRange, setDef, setType, stmt, type
 
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

fromStack

boolean fromStack
Constructor Detail

LocalExpr

public LocalExpr(int index,
                 boolean fromStack,
                 EDU.purdue.cs.bloat.editor.Type type)
Constructor.

Parameters:
index - Index into the local variable table for this expression.
fromStack - Is the local allocated on the stack?
type - The type of this expression

LocalExpr

public LocalExpr(int index,
                 EDU.purdue.cs.bloat.editor.Type type)
Constructor. LocalExpr is not allocated on the stack.

Parameters:
index - Index into the local variable table for this expression.
type - The type of this expression.
Method Detail

fromStack

public boolean fromStack()

isReturnAddress

public boolean isReturnAddress()
Returns true if the type of this expression is a return address.


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

equalsExpr

public boolean equalsExpr(Expr other)
Description copied from class: Expr
Compares this expression to another.

Specified by:
equalsExpr in class Expr
Parameters:
other - The other expression to compare against.

exprHashCode

public int exprHashCode()
Description copied from class: Expr
Returns the hash code for this expresion.

Specified by:
exprHashCode in class Expr

clone

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

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002