|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.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 ReflectionModel
PAG.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 ReflectionModel
PAG.addCallTarget(Edge)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |