public class DefaultAnalysisContextPolicy extends AnalysisContextPolicy<DefaultAnalysisContext>
Constructor and Description |
---|
DefaultAnalysisContextPolicy() |
Modifier and Type | Method and Description |
---|---|
DefaultAnalysisContext |
allocationContext(DefaultAnalysisContext context,
int maxHeapContextDepth)
Record the context of a newly heap allocated object.
|
DefaultAnalysisContext |
calleeContext(BigBang bb,
AnalysisObject receiverObject,
DefaultAnalysisContext callerContext,
MethodTypeFlow callee)
Captures the context of a method invocation.
|
DefaultAnalysisContext |
getContext(BytecodeLocation bcl) |
DefaultAnalysisContext |
getContext(BytecodeLocation[] bytecodeLocations) |
DefaultAnalysisContext |
peel(DefaultAnalysisContext context,
int maxDepth)
Peels off the least recent labels from the current context, down to
maxDepth depth. |
DefaultAnalysisContext |
staticCalleeContext(BigBang bb,
BytecodeLocation invokeLocation,
DefaultAnalysisContext callerContext,
MethodTypeFlow callee)
Given the invocation location, caller context and callee this method returns the callee
context for a static invoke.
|
emptyContext, extend, extend, isEmpty, lookupContext, peel, prepend
public DefaultAnalysisContext peel(DefaultAnalysisContext context, int maxDepth)
AnalysisContextPolicy
maxDepth
depth.
Only the most recent labels are kept in the context, preserving the temporal order.peel
in class AnalysisContextPolicy<DefaultAnalysisContext>
public DefaultAnalysisContext calleeContext(BigBang bb, AnalysisObject receiverObject, DefaultAnalysisContext callerContext, MethodTypeFlow callee)
calleeContext
in class AnalysisContextPolicy<DefaultAnalysisContext>
bb
- The BigBang.receiverObject
- invocation's receiver objectcontext chains
leading to this invocation
extended with the current receiver objectpublic DefaultAnalysisContext staticCalleeContext(BigBang bb, BytecodeLocation invokeLocation, DefaultAnalysisContext callerContext, MethodTypeFlow callee)
AnalysisContextPolicy
staticCalleeContext
in class AnalysisContextPolicy<DefaultAnalysisContext>
public DefaultAnalysisContext allocationContext(DefaultAnalysisContext context, int maxHeapContextDepth)
allocationContext
in class AnalysisContextPolicy<DefaultAnalysisContext>
context
- the DefaultAnalysisContext of the enclosing methodpublic DefaultAnalysisContext getContext(BytecodeLocation bcl)
public DefaultAnalysisContext getContext(BytecodeLocation[] bytecodeLocations)