soot.jimple
Class PointerStmtSwitch

java.lang.Object
  extended by soot.jimple.AbstractStmtSwitch
      extended by soot.jimple.PointerStmtSwitch
All Implemented Interfaces:
StmtSwitch, Switch

public abstract class PointerStmtSwitch
extends AbstractStmtSwitch


Constructor Summary
PointerStmtSwitch()
           
 
Method Summary
protected abstract  void caseAnyNewStmt(Local dest, Expr e)
          Any type of new statement (NewStmt, NewArrayStmt, NewMultiArrayStmt)
protected abstract  void caseArrayLoadStmt(Local dest, ArrayRef src)
          A statement of the form l1 = l2[i];
protected abstract  void caseArrayStoreStmt(ArrayRef dest, Local src)
          A statement of the form l1[i] = l2;
protected abstract  void caseAssignConstStmt(Value dest, Constant c)
          A statement of the form l = constant;
 void caseAssignStmt(AssignStmt s)
           
protected  void caseCastStmt(Local dest, Local src, CastExpr c)
          A statement of the form l = (cl) v;
protected  void caseCatchStmt(Local dest, CaughtExceptionRef cer)
          A catch statement
protected abstract  void caseCopyStmt(Local dest, Local src)
          A statement of the form l = v;
protected abstract  void caseGlobalLoadStmt(Local dest, StaticFieldRef src)
          A statement of the form l = cl.f;
protected abstract  void caseGlobalStoreStmt(StaticFieldRef dest, Local src)
          A statement of the form cl.f = l;
 void caseIdentityStmt(IdentityStmt s)
           
protected abstract  void caseIdentityStmt(Local dest, IdentityRef src)
          An identity statement assigning a parameter to a local.
 void caseInvokeStmt(InvokeStmt s)
           
protected abstract  void caseInvokeStmt(Local dest, InvokeExpr e)
          A method invocation.
protected abstract  void caseLoadStmt(Local dest, InstanceFieldRef src)
          A statement of the form l1 = l2.f;
protected  void caseNewArrayStmt(Local dest, NewArrayExpr e)
          A newarray statement
protected  void caseNewMultiArrayStmt(Local dest, NewMultiArrayExpr e)
          A anewarray statement
protected  void caseNewStmt(Local dest, NewExpr e)
          A new statement
protected  void caseReturnConstStmt(Constant val)
          A return statement returning a constant.
protected abstract  void caseReturnStmt(Local val)
          A return statement.
 void caseReturnStmt(ReturnStmt s)
           
 void caseReturnVoidStmt(ReturnVoidStmt s)
           
protected abstract  void caseStoreStmt(InstanceFieldRef dest, Local src)
          A statement of the form l1.f = l2;
protected  void caseThrowStmt(Local thrownException)
          A throw statement
 void caseThrowStmt(ThrowStmt s)
           
protected  void caseUninterestingStmt(Stmt s)
          Any other statement
 
Methods inherited from class soot.jimple.AbstractStmtSwitch
caseBreakpointStmt, caseEnterMonitorStmt, caseExitMonitorStmt, caseGotoStmt, caseIfStmt, caseLookupSwitchStmt, caseNopStmt, caseRetStmt, caseTableSwitchStmt, defaultCase, getResult, setResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PointerStmtSwitch

public PointerStmtSwitch()
Method Detail

caseAssignConstStmt

protected abstract void caseAssignConstStmt(Value dest,
                                            Constant c)
A statement of the form l = constant;


caseCopyStmt

protected abstract void caseCopyStmt(Local dest,
                                     Local src)
A statement of the form l = v;


caseCastStmt

protected void caseCastStmt(Local dest,
                            Local src,
                            CastExpr c)
A statement of the form l = (cl) v;


caseIdentityStmt

protected abstract void caseIdentityStmt(Local dest,
                                         IdentityRef src)
An identity statement assigning a parameter to a local.


caseLoadStmt

protected abstract void caseLoadStmt(Local dest,
                                     InstanceFieldRef src)
A statement of the form l1 = l2.f;


caseStoreStmt

protected abstract void caseStoreStmt(InstanceFieldRef dest,
                                      Local src)
A statement of the form l1.f = l2;


caseArrayLoadStmt

protected abstract void caseArrayLoadStmt(Local dest,
                                          ArrayRef src)
A statement of the form l1 = l2[i];


caseArrayStoreStmt

protected abstract void caseArrayStoreStmt(ArrayRef dest,
                                           Local src)
A statement of the form l1[i] = l2;


caseGlobalLoadStmt

protected abstract void caseGlobalLoadStmt(Local dest,
                                           StaticFieldRef src)
A statement of the form l = cl.f;


caseGlobalStoreStmt

protected abstract void caseGlobalStoreStmt(StaticFieldRef dest,
                                            Local src)
A statement of the form cl.f = l;


caseReturnStmt

protected abstract void caseReturnStmt(Local val)
A return statement. e is null if a non-reference type is returned.


caseReturnConstStmt

protected void caseReturnConstStmt(Constant val)
A return statement returning a constant.


caseAnyNewStmt

protected abstract void caseAnyNewStmt(Local dest,
                                       Expr e)
Any type of new statement (NewStmt, NewArrayStmt, NewMultiArrayStmt)


caseNewStmt

protected void caseNewStmt(Local dest,
                           NewExpr e)
A new statement


caseNewArrayStmt

protected void caseNewArrayStmt(Local dest,
                                NewArrayExpr e)
A newarray statement


caseNewMultiArrayStmt

protected void caseNewMultiArrayStmt(Local dest,
                                     NewMultiArrayExpr e)
A anewarray statement


caseInvokeStmt

protected abstract void caseInvokeStmt(Local dest,
                                       InvokeExpr e)
A method invocation. dest is null if there is no reference type return value.


caseThrowStmt

protected void caseThrowStmt(Local thrownException)
A throw statement


caseCatchStmt

protected void caseCatchStmt(Local dest,
                             CaughtExceptionRef cer)
A catch statement


caseUninterestingStmt

protected void caseUninterestingStmt(Stmt s)
Any other statement


caseAssignStmt

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

caseReturnStmt

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

caseReturnVoidStmt

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

caseInvokeStmt

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

caseIdentityStmt

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

caseThrowStmt

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