SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class AscendVisitor

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.TreeVisitor
        |
        +--sandmark.obfuscate.boolsplitter.dtree.AscendVisitor
Direct Known Subclasses:
Type0Visitor, Type1UpVisitor, Type1Visitor

public abstract class AscendVisitor
extends TreeVisitor

AscendVisitor is the superclass of Type0Visitor and Type1Visitor, conveniently containing the common code. It makes an upward traversal of the tree as if it were a binary tree (nodes with more than two children, such as a method call, are considered in a form similar to curried form).

Author:
Thomas VanDrunen

Field Summary
(package private)  java.util.Hashtable defInfoMap
           
(package private)  Node previous
           
(package private)  LocalExpr start
           
(package private)  java.util.Hashtable useInfoMap
           
(package private)  java.util.Vector visited
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.TreeVisitor
direction, FORWARD, prune, REVERSE
 
Constructor Summary
AscendVisitor(java.util.Hashtable defInfoMap, java.util.Hashtable useInfoMap)
           
 
Method Summary
abstract  void check(Node node)
           
 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 visitIfZeroStmt(IfZeroStmt stmt)
           
 void visitInitStmt(InitStmt stmt)
           
 void visitInstanceOfExpr(InstanceOfExpr expr)
           
 void visitJsrStmt(JsrStmt stmt)
           
 void visitLabelStmt(LabelStmt stmt)
           
 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 visitNode(Node node)
           
 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 visitStackExpr(StackExpr expr)
           
 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 visitTree(Tree tree)
           
 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, visitIfStmt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defInfoMap

java.util.Hashtable defInfoMap

useInfoMap

java.util.Hashtable useInfoMap

start

LocalExpr start

previous

Node previous

visited

java.util.Vector visited
Constructor Detail

AscendVisitor

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

check

public abstract void check(Node node)

visitTree

public void visitTree(Tree tree)
Overrides:
visitTree in class TreeVisitor

visitExprStmt

public void visitExprStmt(ExprStmt stmt)
Overrides:
visitExprStmt 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 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

visitStackExpr

public void visitStackExpr(StackExpr expr)
Overrides:
visitStackExpr 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

visitNode

public void visitNode(Node node)
Overrides:
visitNode in class TreeVisitor

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002