public class FactoryBypassInterpreter extends AbstractReflectionInterpreter
Modifier and Type | Class and Description |
---|---|
protected class |
FactoryBypassInterpreter.SpecializedFactoryMethod |
AbstractReflectionInterpreter.IgnoreSerializableWarning, AbstractReflectionInterpreter.ManySubtypesWarning, AbstractReflectionInterpreter.NoSubtypesWarning, AbstractReflectionInterpreter.SpecializedMethod
cache, CONE_BOUND, DEBUG, indexLocal, options, typeIndexMap
Constructor and Description |
---|
FactoryBypassInterpreter(AnalysisOptions options,
AnalysisCache cache) |
getCallSiteForType, getExceptionsForType, getLocalForType, getNewSiteForType, typeRef2TypeAbstraction
public FactoryBypassInterpreter(AnalysisOptions options, AnalysisCache cache)
options
- governing analysis optionspublic IR getIR(CGNode node)
public int getNumberOfStatements(CGNode node)
public boolean understands(CGNode node)
CHAContextInterpreter
public Iterator<NewSiteReference> iterateNewSites(CGNode node)
public Iterator<SSAInstruction> getInvokeStatements(CGNode node)
public Iterator<CallSiteReference> iterateCallSites(CGNode node)
public boolean recordType(IClassHierarchy cha, Context context, TypeReference type)
public boolean recordFactoryType(CGNode node, IClass klass)
RTAContextInterpreter
public Iterator<FieldReference> iterateFieldsRead(CGNode node)
public Iterator<FieldReference> iterateFieldsWritten(CGNode node)
public boolean hasObjectArrayLoad(CGNode node)
public boolean hasObjectArrayStore(CGNode node)
public ControlFlowGraph<SSAInstruction,ISSABasicBlock> getCFG(CGNode N)