public class ClassFactoryContextInterpreter extends Object implements SSAContextInterpreter
SSAContextInterpreter
specialized to interpret reflective class factories (e.g. Class.forName()) in a
JavaTypeContext
which represents the point-type of the class object created by the call.Constructor and Description |
---|
ClassFactoryContextInterpreter() |
Modifier and Type | Method and Description |
---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
getCFG(CGNode N) |
DefUse |
getDU(CGNode node) |
IR |
getIR(CGNode node)
END Custom change: caching
|
int |
getNumberOfStatements(CGNode node) |
Iterator<CallSiteReference> |
iterateCallSites(CGNode node) |
Iterator<FieldReference> |
iterateFieldsRead(CGNode node) |
Iterator<FieldReference> |
iterateFieldsWritten(CGNode node) |
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.
|
public IR getIR(CGNode node)
getIR
in interface SSAContextInterpreter
public int getNumberOfStatements(CGNode node)
getNumberOfStatements
in interface SSAContextInterpreter
public boolean understands(CGNode node)
CHAContextInterpreter
understands
in interface CHAContextInterpreter
public Iterator<NewSiteReference> iterateNewSites(CGNode node)
iterateNewSites
in interface RTAContextInterpreter
public Iterator<CallSiteReference> iterateCallSites(CGNode node)
iterateCallSites
in interface CHAContextInterpreter
public boolean recordFactoryType(CGNode node, IClass klass)
RTAContextInterpreter
recordFactoryType
in interface RTAContextInterpreter
public Iterator<FieldReference> iterateFieldsRead(CGNode node)
iterateFieldsRead
in interface RTAContextInterpreter
public Iterator<FieldReference> iterateFieldsWritten(CGNode node)
iterateFieldsWritten
in interface RTAContextInterpreter
public ControlFlowGraph<SSAInstruction,ISSABasicBlock> getCFG(CGNode N)
getCFG
in interface SSAContextInterpreter
public DefUse getDU(CGNode node)
getDU
in interface SSAContextInterpreter