You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/**
* Runs the analysis again within the block of {@code node} and returns the store at the
* location of {@code node}. If {@code before} is true, then the store immediately before the
* {@link Node} {@code node} is returned. Otherwise, the store immediately after {@code node} is
* returned. If {@code analysisCaches} is not null, this method uses a cache. {@code
* analysisCaches} is a map of a block of node to the cached analysis result. If the cache for
* {@code transferInput} is not in {@code analysisCaches}, this method creates new cache and
* stores it in {@code analysisCaches}. The cache is a map of nodes to the analysis results of
* the nodes.
*
* @param node the node to analyze
* @param before the boolean value to indicate which store to return (if it is true, return the
* store immediately before {@code node}; otherwise, the store after {@code node} is
* returned)
* @param transferInput the transfer input of the block of this node
* @param nodeValues abstract values of nodes
* @param analysisCaches caches of analysis results
* @return the store before or after {@code node} (depends on the value of {@code before}) after
* running the analysis
*/
S runAnalysisFor(
Node node,
boolean before,
TransferInput<V, S> transferInput,
IdentityHashMap<Node, V> nodeValues,
Map<TransferInput<V, S>, IdentityHashMap<Node, TransferResult<V, S>>> analysisCaches);
I would also consider changing before to an enum, so that callsites say Store.BEFORE and Store.AFTER rather than just true and false. Distinguishing between true and false at callsites makes them harder to read.
The text was updated successfully, but these errors were encountered:
mernst
added a commit
to mernst/checker-framework
that referenced
this issue
Nov 21, 2020
As @kelloggm pointed out in #3370:
The text was updated successfully, but these errors were encountered: