public class DistinguishClass extends HeapAbstractionFactory
| Constructor and Description |
|---|
DistinguishClass(java.lang.String className) |
| Modifier and Type | Method and Description |
|---|---|
void |
init()
Initialize the factory.
|
CContext |
initialContextImpl()
Return the initial CContext, i.e., to analyze the main method.
|
CContext |
mergeImpl(CallSiteNode callSite,
HContext receiver,
CContext callerContext)
Produce a code context (i.e., CContext) to analysis code
called from call site
callSite in code context
callerContext, where receiver is
the abstract object for the recevier of the method invocation. |
HContext |
recordImpl(CContext context,
AllocSiteNode alloc)
Produce an abstract object (i.e., HContext) to represent an
object created at allocation site
alloc in code
context context. |
java.lang.String |
toString() |
clearMemoization, fixContextForReferenceVariable, initialContext, memoize, memoize, merge, recordpublic java.lang.String toString()
toString in class java.lang.Objectpublic HContext recordImpl(CContext context, AllocSiteNode alloc)
HeapAbstractionFactoryalloc in code
context context.recordImpl in class HeapAbstractionFactorypublic CContext mergeImpl(CallSiteNode callSite, HContext receiver, CContext callerContext)
HeapAbstractionFactorycallSite in code context
callerContext, where receiver is
the abstract object for the recevier of the method invocation.
If the method being called does not have a receiver (i.e., it
is a static method), then receiver will be null.mergeImpl in class HeapAbstractionFactorypublic void init()
HeapAbstractionFactoryinit in class HeapAbstractionFactorypublic CContext initialContextImpl()
HeapAbstractionFactoryinitialContextImpl in class HeapAbstractionFactory