|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.analysis.reflection.CloneInterpreter
public class CloneInterpreter
A context interpreter for java.lang.Object.clone TODO: The current implementation does not model CloneNotSupportedExceptions
| Field Summary | |
|---|---|
static MethodReference |
CLONE
Comment for CLONE |
static Atom |
cloneAtom
Comment for cloneAtom |
| Constructor Summary | |
|---|---|
CloneInterpreter()
|
|
| Method Summary | |
|---|---|
java.util.Set |
getCaughtExceptions(CGNode node)
|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
getCFG(CGNode N)
|
DefUse |
getDU(CGNode node)
|
IR |
getIR(CGNode node)
|
int |
getNumberOfStatements(CGNode node)
|
boolean |
hasObjectArrayLoad(CGNode node)
|
boolean |
hasObjectArrayStore(CGNode node)
|
java.util.Iterator<CallSiteReference> |
iterateCallSites(CGNode node)
|
java.util.Iterator |
iterateCastTypes(CGNode node)
|
java.util.Iterator<FieldReference> |
iterateFieldsRead(CGNode node)
|
java.util.Iterator<FieldReference> |
iterateFieldsWritten(CGNode node)
|
java.util.Iterator<NewSiteReference> |
iterateNewSites(CGNode node)
|
boolean |
recordFactoryType(CGNode node,
IClass klass)
record that the "factory" method of a node should be interpreted to allocate a particular class. |
boolean |
understands(CGNode node)
Does this object understand the given method? The caller had better check this before inquiring on other properties. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final Atom cloneAtom
cloneAtom
public static final MethodReference CLONE
CLONE
| Constructor Detail |
|---|
public CloneInterpreter()
| Method Detail |
|---|
public IR getIR(CGNode node)
getIR in interface SSAContextInterpreterpublic int getNumberOfStatements(CGNode node)
getNumberOfStatements in interface SSAContextInterpreterpublic boolean understands(CGNode node)
RTAContextInterpreter
understands in interface RTAContextInterpreterpublic java.util.Iterator<NewSiteReference> iterateNewSites(CGNode node)
iterateNewSites in interface RTAContextInterpreterpublic java.util.Iterator<CallSiteReference> iterateCallSites(CGNode node)
iterateCallSites in interface RTAContextInterpreter
public boolean recordFactoryType(CGNode node,
IClass klass)
RTAContextInterpreter
recordFactoryType in interface RTAContextInterpreterpublic java.util.Iterator<FieldReference> iterateFieldsRead(CGNode node)
iterateFieldsRead in interface RTAContextInterpreterpublic java.util.Iterator<FieldReference> iterateFieldsWritten(CGNode node)
iterateFieldsWritten in interface RTAContextInterpreterpublic java.util.Set getCaughtExceptions(CGNode node)
public boolean hasObjectArrayLoad(CGNode node)
public boolean hasObjectArrayStore(CGNode node)
public java.util.Iterator iterateCastTypes(CGNode node)
public ControlFlowGraph<SSAInstruction,ISSABasicBlock> getCFG(CGNode N)
getCFG in interface SSAContextInterpreterpublic DefUse getDU(CGNode node)
getDU in interface SSAContextInterpreter
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||