public class ReturnSiteResolver<Field,Fact,Stmt,Method> extends ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>>
debugger, incomingEdges, resolvedAccessPath
Constructor and Description |
---|
ReturnSiteResolver(FactMergeHandler<Fact> factMergeHandler,
PerAccessPathMethodAnalyzer<Field,Fact,Stmt,Method> analyzer,
Stmt returnSite,
Debugger<Field,Fact,Stmt,Method> debugger) |
Modifier and Type | Method and Description |
---|---|
void |
addIncoming(WrappedFact<Field,Fact,Stmt,Method> fact,
Resolver<Field,Fact,Stmt,Method> resolverAtCaller,
AccessPath.Delta<Field> callDelta) |
protected ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>> |
createNestedResolver(AccessPath<Field> newAccPath) |
protected AccessPath<Field> |
getAccessPathOf(ReturnEdge<Field,Fact,Stmt,Method> inc) |
Stmt |
getReturnSite() |
protected void |
log(java.lang.String message) |
protected void |
processIncomingGuaranteedPrefix(ReturnEdge<Field,Fact,Stmt,Method> retEdge) |
protected void |
processIncomingPotentialPrefix(ReturnEdge<Field,Fact,Stmt,Method> retEdge) |
protected void |
resolveViaCallSiteResolver(ReturnEdge<Field,Fact,Stmt,Method> retEdge,
AccessPath<Field> currAccPath) |
java.lang.String |
toString() |
addIncoming, getOrCreateNestedResolver, isLocked, lock, resolve, unlock
canBeResolvedEmpty, interest, isInterestGiven, registerCallback
public java.lang.String toString()
toString
in class java.lang.Object
protected AccessPath<Field> getAccessPathOf(ReturnEdge<Field,Fact,Stmt,Method> inc)
getAccessPathOf
in class ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>>
public void addIncoming(WrappedFact<Field,Fact,Stmt,Method> fact, Resolver<Field,Fact,Stmt,Method> resolverAtCaller, AccessPath.Delta<Field> callDelta)
protected void processIncomingGuaranteedPrefix(ReturnEdge<Field,Fact,Stmt,Method> retEdge)
processIncomingGuaranteedPrefix
in class ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>>
protected void processIncomingPotentialPrefix(ReturnEdge<Field,Fact,Stmt,Method> retEdge)
processIncomingPotentialPrefix
in class ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>>
protected void log(java.lang.String message)
protected ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>> createNestedResolver(AccessPath<Field> newAccPath)
createNestedResolver
in class ResolverTemplate<Field,Fact,Stmt,Method,ReturnEdge<Field,Fact,Stmt,Method>>
public Stmt getReturnSite()
protected void resolveViaCallSiteResolver(ReturnEdge<Field,Fact,Stmt,Method> retEdge, AccessPath<Field> currAccPath)