soot.jimple.toolkits.typing.fast
Class UseChecker

java.lang.Object
  extended by soot.jimple.AbstractStmtSwitch
      extended by soot.jimple.toolkits.typing.fast.UseChecker
All Implemented Interfaces:
StmtSwitch, Switch

public class UseChecker
extends AbstractStmtSwitch

This checks all uses against the rules in Jimple, except some uses are not checked where the bytecode verifier guarantees use validity.

Author:
Ben Bellamy

Constructor Summary
UseChecker(JimpleBody jb)
           
 
Method Summary
 void caseAssignStmt(AssignStmt stmt)
           
 void caseBreakpointStmt(BreakpointStmt stmt)
           
 void caseEnterMonitorStmt(EnterMonitorStmt stmt)
           
 void caseExitMonitorStmt(ExitMonitorStmt stmt)
           
 void caseGotoStmt(GotoStmt stmt)
           
 void caseIdentityStmt(IdentityStmt stmt)
           
 void caseIfStmt(IfStmt stmt)
           
 void caseInvokeStmt(InvokeStmt stmt)
           
 void caseLookupSwitchStmt(LookupSwitchStmt stmt)
           
 void caseNopStmt(NopStmt stmt)
           
 void caseReturnStmt(ReturnStmt stmt)
           
 void caseReturnVoidStmt(ReturnVoidStmt stmt)
           
 void caseTableSwitchStmt(TableSwitchStmt stmt)
           
 void caseThrowStmt(ThrowStmt stmt)
           
 void check(Typing tg, IUseVisitor uv)
           
 void defaultCase(Stmt stmt)
           
 
Methods inherited from class soot.jimple.AbstractStmtSwitch
caseRetStmt, defaultCase, getResult, setResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UseChecker

public UseChecker(JimpleBody jb)
Method Detail

check

public void check(Typing tg,
                  IUseVisitor uv)

caseBreakpointStmt

public void caseBreakpointStmt(BreakpointStmt stmt)
Specified by:
caseBreakpointStmt in interface StmtSwitch
Overrides:
caseBreakpointStmt in class AbstractStmtSwitch

caseInvokeStmt

public void caseInvokeStmt(InvokeStmt stmt)
Specified by:
caseInvokeStmt in interface StmtSwitch
Overrides:
caseInvokeStmt in class AbstractStmtSwitch

caseAssignStmt

public void caseAssignStmt(AssignStmt stmt)
Specified by:
caseAssignStmt in interface StmtSwitch
Overrides:
caseAssignStmt in class AbstractStmtSwitch

caseIdentityStmt

public void caseIdentityStmt(IdentityStmt stmt)
Specified by:
caseIdentityStmt in interface StmtSwitch
Overrides:
caseIdentityStmt in class AbstractStmtSwitch

caseEnterMonitorStmt

public void caseEnterMonitorStmt(EnterMonitorStmt stmt)
Specified by:
caseEnterMonitorStmt in interface StmtSwitch
Overrides:
caseEnterMonitorStmt in class AbstractStmtSwitch

caseExitMonitorStmt

public void caseExitMonitorStmt(ExitMonitorStmt stmt)
Specified by:
caseExitMonitorStmt in interface StmtSwitch
Overrides:
caseExitMonitorStmt in class AbstractStmtSwitch

caseGotoStmt

public void caseGotoStmt(GotoStmt stmt)
Specified by:
caseGotoStmt in interface StmtSwitch
Overrides:
caseGotoStmt in class AbstractStmtSwitch

caseIfStmt

public void caseIfStmt(IfStmt stmt)
Specified by:
caseIfStmt in interface StmtSwitch
Overrides:
caseIfStmt in class AbstractStmtSwitch

caseLookupSwitchStmt

public void caseLookupSwitchStmt(LookupSwitchStmt stmt)
Specified by:
caseLookupSwitchStmt in interface StmtSwitch
Overrides:
caseLookupSwitchStmt in class AbstractStmtSwitch

caseNopStmt

public void caseNopStmt(NopStmt stmt)
Specified by:
caseNopStmt in interface StmtSwitch
Overrides:
caseNopStmt in class AbstractStmtSwitch

caseReturnStmt

public void caseReturnStmt(ReturnStmt stmt)
Specified by:
caseReturnStmt in interface StmtSwitch
Overrides:
caseReturnStmt in class AbstractStmtSwitch

caseReturnVoidStmt

public void caseReturnVoidStmt(ReturnVoidStmt stmt)
Specified by:
caseReturnVoidStmt in interface StmtSwitch
Overrides:
caseReturnVoidStmt in class AbstractStmtSwitch

caseTableSwitchStmt

public void caseTableSwitchStmt(TableSwitchStmt stmt)
Specified by:
caseTableSwitchStmt in interface StmtSwitch
Overrides:
caseTableSwitchStmt in class AbstractStmtSwitch

caseThrowStmt

public void caseThrowStmt(ThrowStmt stmt)
Specified by:
caseThrowStmt in interface StmtSwitch
Overrides:
caseThrowStmt in class AbstractStmtSwitch

defaultCase

public void defaultCase(Stmt stmt)