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
Constructor Summary |
AscendVisitor(java.util.Hashtable defInfoMap,
java.util.Hashtable useInfoMap)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
defInfoMap
java.util.Hashtable defInfoMap
useInfoMap
java.util.Hashtable useInfoMap
start
LocalExpr start
previous
Node previous
visited
java.util.Vector visited
AscendVisitor
public AscendVisitor(java.util.Hashtable defInfoMap,
java.util.Hashtable useInfoMap)
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