|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectsoot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.TraceBasedReflectionModel
public class OnFlyCallGraphBuilder.TraceBasedReflectionModel
| Field Summary | |
|---|---|
protected Set<soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.TraceBasedReflectionModel.Guard> |
guards
|
protected ReflectionTraceInfo |
reflectionInfo
|
| Method Summary | |
|---|---|
void |
classForName(SootMethod container,
Stmt forNameInvokeStmt)
Adds an edge to all class initializers of all possible receivers of Class.forName() calls within source. |
void |
classNewInstance(SootMethod container,
Stmt newInstanceInvokeStmt)
Adds an edge to the constructor of the target class from this call to Class.newInstance(). |
void |
contructorNewInstance(SootMethod container,
Stmt newInstanceInvokeStmt)
Adds a special edge of kind Kind.REFL_CONSTR_NEWINSTANCE to all possible target constructors
of this call to Constructor.newInstance(Object...). |
void |
methodInvoke(SootMethod container,
Stmt invokeStmt)
Adds a special edge of kind Kind.REFL_INVOKE to all possible target methods
of this call to Method.invoke(Object, Object...). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Set<soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.TraceBasedReflectionModel.Guard> guards
protected ReflectionTraceInfo reflectionInfo
| Method Detail |
|---|
public void classForName(SootMethod container,
Stmt forNameInvokeStmt)
classForName in interface ReflectionModel
public void classNewInstance(SootMethod container,
Stmt newInstanceInvokeStmt)
Class.newInstance().
classNewInstance in interface ReflectionModel
public void contructorNewInstance(SootMethod container,
Stmt newInstanceInvokeStmt)
Kind.REFL_CONSTR_NEWINSTANCE to all possible target constructors
of this call to Constructor.newInstance(Object...).
Those kinds of edges are treated specially in terms of how parameters are assigned,
as parameters to the reflective call are passed into the argument array of
Constructor.newInstance(Object...).
contructorNewInstance in interface ReflectionModelPAG.addCallTarget(Edge)
public void methodInvoke(SootMethod container,
Stmt invokeStmt)
Kind.REFL_INVOKE to all possible target methods
of this call to Method.invoke(Object, Object...).
Those kinds of edges are treated specially in terms of how parameters are assigned,
as parameters to the reflective call are passed into the argument array of
Method.invoke(Object, Object...).
methodInvoke in interface ReflectionModelPAG.addCallTarget(Edge)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||