SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class StackManipStmt

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.Node
        |
        +--sandmark.obfuscate.boolsplitter.dtree.Stmt
              |
              +--sandmark.obfuscate.boolsplitter.dtree.StackManipStmt
All Implemented Interfaces:
Assign

public class StackManipStmt
extends Stmt
implements Assign

StackManipStmt represents the opcodes that manipulate the stack such as swap and dup.


Field Summary
static int DUP
           
static int DUP_X1
           
static int DUP_X2
           
static int DUP2
           
static int DUP2_X1
           
static int DUP2_X2
           
(package private)  int kind
           
(package private)  StackExpr[] source
           
static int SWAP
           
(package private)  StackExpr[] target
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
key, parent, valueNumber
 
Constructor Summary
StackManipStmt(StackExpr[] target, StackExpr[] source, int kind)
          Constructor.
 
Method Summary
 java.lang.Object clone()
           
 DefExpr[] defs()
          Returns the expressions that may be modified (defined) by this expression or statement.
 int kind()
           
 StackExpr[] source()
           
 StackExpr[] target()
           
 void visit(TreeVisitor visitor)
           
 void visitForceChildren(TreeVisitor visitor)
          Visit the children of this node.
 
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

target

StackExpr[] target

source

StackExpr[] source

kind

int kind

SWAP

public static final int SWAP
See Also:
Constant Field Values

DUP

public static final int DUP
See Also:
Constant Field Values

DUP_X1

public static final int DUP_X1
See Also:
Constant Field Values

DUP_X2

public static final int DUP_X2
See Also:
Constant Field Values

DUP2

public static final int DUP2
See Also:
Constant Field Values

DUP2_X1

public static final int DUP2_X1
See Also:
Constant Field Values

DUP2_X2

public static final int DUP2_X2
See Also:
Constant Field Values
Constructor Detail

StackManipStmt

public StackManipStmt(StackExpr[] target,
                      StackExpr[] source,
                      int kind)
Constructor.

Parameters:
target - The new contents of the stack
source - The old contents of the stack
kind - The kind of stack manipulation (SWAP, DUP, etc.) to take place.
Method Detail

defs

public DefExpr[] defs()
Description copied from interface: Assign
Returns the expressions that may be modified (defined) by this expression or statement.

Specified by:
defs in interface Assign

target

public StackExpr[] target()

source

public StackExpr[] source()

kind

public int kind()

visit

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

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

clone

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

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002