SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class DescendVisitor

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.TreeVisitor
        |
        +--sandmark.obfuscate.boolsplitter.dtree.DescendVisitor
Direct Known Subclasses:
Type0DownVisitor, Type1DownVisitor

public abstract class DescendVisitor
extends TreeVisitor

DecsendVisitor is the superclass of a few private classes of Type0Visitor and Type1Visitor. It descends the tree, keeping track of the number of right links that have been taken.


Field Summary
(package private)  Node beginNode
           
(package private)  java.util.Hashtable defInfoMap
           
(package private)  int exchangeFactor
           
(package private)  boolean found
           
(package private)  LocalExpr start
           
(package private)  java.util.Hashtable useInfoMap
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.TreeVisitor
direction, FORWARD, prune, REVERSE
 
Constructor Summary
DescendVisitor(java.util.Hashtable useInfoMap, java.util.Hashtable defInfoMap)
           
 
Method Summary
 boolean search(Node beginNode, LocalExpr start)
           
 void visitAddressStoreStmt(AddressStoreStmt stmt)
           
 void visitArithExpr(ArithExpr expr)
           
 void visitArrayLengthExpr(ArrayLengthExpr expr)
           
 void visitArrayRefExpr(ArrayRefExpr expr)
           
 void visitCallExpr(CallExpr expr)
           
 void visitCallMethodExpr(CallMethodExpr expr)
           
 void visitCallStaticExpr(CallStaticExpr expr)
           
 void visitCastExpr(CastExpr expr)
           
 void visitCatchExpr(CatchExpr expr)
           
 void visitCheckExpr(CheckExpr expr)
           
 void visitConstantExpr(ConstantExpr expr)
           
 void visitDefExpr(DefExpr expr)
           
 void visitExpr(Expr expr)
           
 void visitExprStmt(ExprStmt stmt)
           
 void visitFieldExpr(FieldExpr expr)
           
 void visitGotoStmt(GotoStmt stmt)
           
 void visitIfCmpStmt(IfCmpStmt stmt)
           
 void visitIfStmt(IfStmt stmt)
           
 void visitIfZeroStmt(IfZeroStmt stmt)
           
 void visitInitStmt(InitStmt stmt)
           
 void visitInstanceOfExpr(InstanceOfExpr expr)
           
 void visitJsrStmt(JsrStmt stmt)
           
 void visitLabelStmt(LabelStmt stmt)
           
abstract  void visitLocalExpr(LocalExpr expr)
           
 void visitMemExpr(MemExpr expr)
           
 void visitMemRefExpr(MemRefExpr expr)
           
 void visitMonitorStmt(MonitorStmt stmt)
           
 void visitNegExpr(NegExpr expr)
           
 void visitNewArrayExpr(NewArrayExpr expr)
           
 void visitNewExpr(NewExpr expr)
           
 void visitNewMultiArrayExpr(NewMultiArrayExpr expr)
           
 void visitPhiCatchStmt(PhiCatchStmt stmt)
           
 void visitPhiJoinStmt(PhiJoinStmt stmt)
           
 void visitPhiStmt(PhiStmt stmt)
           
 void visitRCExpr(RCExpr expr)
           
 void visitRetStmt(RetStmt stmt)
           
 void visitReturnAddressExpr(ReturnAddressExpr expr)
           
 void visitReturnExprStmt(ReturnExprStmt stmt)
           
 void visitReturnStmt(ReturnStmt stmt)
           
 void visitSCStmt(SCStmt stmt)
           
 void visitShiftExpr(ShiftExpr expr)
           
 void visitSRStmt(SRStmt stmt)
           
 void visitStackManipStmt(StackManipStmt stmt)
           
 void visitStaticFieldExpr(StaticFieldExpr expr)
           
 void visitStmt(Stmt stmt)
           
 void visitStoreExpr(StoreExpr expr)
           
 void visitSwitchStmt(SwitchStmt stmt)
           
 void visitThrowStmt(ThrowStmt stmt)
           
 void visitUCExpr(UCExpr expr)
           
 void visitVarExpr(VarExpr expr)
           
 void visitZeroCheckExpr(ZeroCheckExpr expr)
           
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.TreeVisitor
direction, forward, prune, reverse, setPrune, visitBlock, visitFlowGraph, visitNode, visitStackExpr, visitTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

useInfoMap

java.util.Hashtable useInfoMap

defInfoMap

java.util.Hashtable defInfoMap

found

boolean found

beginNode

Node beginNode

start

LocalExpr start

exchangeFactor

int exchangeFactor
Constructor Detail

DescendVisitor

public DescendVisitor(java.util.Hashtable useInfoMap,
                      java.util.Hashtable defInfoMap)
Method Detail

search

public boolean search(Node beginNode,
                      LocalExpr start)

visitExprStmt

public void visitExprStmt(ExprStmt stmt)
Overrides:
visitExprStmt in class TreeVisitor

visitIfStmt

public void visitIfStmt(IfStmt stmt)
Overrides:
visitIfStmt in class TreeVisitor

visitIfCmpStmt

public void visitIfCmpStmt(IfCmpStmt stmt)
Overrides:
visitIfCmpStmt in class TreeVisitor

visitIfZeroStmt

public void visitIfZeroStmt(IfZeroStmt stmt)
Overrides:
visitIfZeroStmt in class TreeVisitor

visitInitStmt

public void visitInitStmt(InitStmt stmt)
Overrides:
visitInitStmt in class TreeVisitor

visitGotoStmt

public void visitGotoStmt(GotoStmt stmt)
Overrides:
visitGotoStmt in class TreeVisitor

visitLabelStmt

public void visitLabelStmt(LabelStmt stmt)
Overrides:
visitLabelStmt in class TreeVisitor

visitMonitorStmt

public void visitMonitorStmt(MonitorStmt stmt)
Overrides:
visitMonitorStmt in class TreeVisitor

visitPhiStmt

public void visitPhiStmt(PhiStmt stmt)
Overrides:
visitPhiStmt in class TreeVisitor

visitCatchExpr

public void visitCatchExpr(CatchExpr expr)
Overrides:
visitCatchExpr in class TreeVisitor

visitDefExpr

public void visitDefExpr(DefExpr expr)
Overrides:
visitDefExpr in class TreeVisitor

visitStackManipStmt

public void visitStackManipStmt(StackManipStmt stmt)
Overrides:
visitStackManipStmt in class TreeVisitor

visitPhiCatchStmt

public void visitPhiCatchStmt(PhiCatchStmt stmt)
Overrides:
visitPhiCatchStmt in class TreeVisitor

visitPhiJoinStmt

public void visitPhiJoinStmt(PhiJoinStmt stmt)
Overrides:
visitPhiJoinStmt in class TreeVisitor

visitRetStmt

public void visitRetStmt(RetStmt stmt)
Overrides:
visitRetStmt in class TreeVisitor

visitReturnExprStmt

public void visitReturnExprStmt(ReturnExprStmt stmt)
Overrides:
visitReturnExprStmt in class TreeVisitor

visitReturnStmt

public void visitReturnStmt(ReturnStmt stmt)
Overrides:
visitReturnStmt in class TreeVisitor

visitAddressStoreStmt

public void visitAddressStoreStmt(AddressStoreStmt stmt)
Overrides:
visitAddressStoreStmt in class TreeVisitor

visitStoreExpr

public void visitStoreExpr(StoreExpr expr)
Overrides:
visitStoreExpr in class TreeVisitor

visitJsrStmt

public void visitJsrStmt(JsrStmt stmt)
Overrides:
visitJsrStmt in class TreeVisitor

visitSwitchStmt

public void visitSwitchStmt(SwitchStmt stmt)
Overrides:
visitSwitchStmt in class TreeVisitor

visitThrowStmt

public void visitThrowStmt(ThrowStmt stmt)
Overrides:
visitThrowStmt in class TreeVisitor

visitStmt

public void visitStmt(Stmt stmt)
Overrides:
visitStmt in class TreeVisitor

visitSCStmt

public void visitSCStmt(SCStmt stmt)
Overrides:
visitSCStmt in class TreeVisitor

visitSRStmt

public void visitSRStmt(SRStmt stmt)
Overrides:
visitSRStmt in class TreeVisitor

visitArithExpr

public void visitArithExpr(ArithExpr expr)
Overrides:
visitArithExpr in class TreeVisitor

visitArrayLengthExpr

public void visitArrayLengthExpr(ArrayLengthExpr expr)
Overrides:
visitArrayLengthExpr in class TreeVisitor

visitMemExpr

public void visitMemExpr(MemExpr expr)
Overrides:
visitMemExpr in class TreeVisitor

visitMemRefExpr

public void visitMemRefExpr(MemRefExpr expr)
Overrides:
visitMemRefExpr in class TreeVisitor

visitArrayRefExpr

public void visitArrayRefExpr(ArrayRefExpr expr)
Overrides:
visitArrayRefExpr in class TreeVisitor

visitCallExpr

public void visitCallExpr(CallExpr expr)
Overrides:
visitCallExpr in class TreeVisitor

visitCallMethodExpr

public void visitCallMethodExpr(CallMethodExpr expr)
Overrides:
visitCallMethodExpr in class TreeVisitor

visitCallStaticExpr

public void visitCallStaticExpr(CallStaticExpr expr)
Overrides:
visitCallStaticExpr in class TreeVisitor

visitCastExpr

public void visitCastExpr(CastExpr expr)
Overrides:
visitCastExpr in class TreeVisitor

visitConstantExpr

public void visitConstantExpr(ConstantExpr expr)
Overrides:
visitConstantExpr in class TreeVisitor

visitFieldExpr

public void visitFieldExpr(FieldExpr expr)
Overrides:
visitFieldExpr in class TreeVisitor

visitInstanceOfExpr

public void visitInstanceOfExpr(InstanceOfExpr expr)
Overrides:
visitInstanceOfExpr in class TreeVisitor

visitLocalExpr

public abstract void visitLocalExpr(LocalExpr expr)
Overrides:
visitLocalExpr in class TreeVisitor

visitNegExpr

public void visitNegExpr(NegExpr expr)
Overrides:
visitNegExpr in class TreeVisitor

visitNewArrayExpr

public void visitNewArrayExpr(NewArrayExpr expr)
Overrides:
visitNewArrayExpr in class TreeVisitor

visitNewExpr

public void visitNewExpr(NewExpr expr)
Overrides:
visitNewExpr in class TreeVisitor

visitNewMultiArrayExpr

public void visitNewMultiArrayExpr(NewMultiArrayExpr expr)
Overrides:
visitNewMultiArrayExpr in class TreeVisitor

visitCheckExpr

public void visitCheckExpr(CheckExpr expr)
Overrides:
visitCheckExpr in class TreeVisitor

visitZeroCheckExpr

public void visitZeroCheckExpr(ZeroCheckExpr expr)
Overrides:
visitZeroCheckExpr in class TreeVisitor

visitRCExpr

public void visitRCExpr(RCExpr expr)
Overrides:
visitRCExpr in class TreeVisitor

visitUCExpr

public void visitUCExpr(UCExpr expr)
Overrides:
visitUCExpr in class TreeVisitor

visitReturnAddressExpr

public void visitReturnAddressExpr(ReturnAddressExpr expr)
Overrides:
visitReturnAddressExpr in class TreeVisitor

visitShiftExpr

public void visitShiftExpr(ShiftExpr expr)
Overrides:
visitShiftExpr in class TreeVisitor

visitVarExpr

public void visitVarExpr(VarExpr expr)
Overrides:
visitVarExpr in class TreeVisitor

visitStaticFieldExpr

public void visitStaticFieldExpr(StaticFieldExpr expr)
Overrides:
visitStaticFieldExpr in class TreeVisitor

visitExpr

public void visitExpr(Expr expr)
Overrides:
visitExpr in class TreeVisitor

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002