forge.dataflow
Class AnalysisResults<D>

java.lang.Object
  extended by forge.dataflow.AnalysisResults<D>

public final class AnalysisResults<D>
extends java.lang.Object

The results of a dataflow analysis.

Author:
Greg Dennis (gdennis@mit.edu)

Method Summary
 BranchData<D> dataAfter(BranchStmt branch)
          Returns the data at the program points in the CFG that immediately follow the specified branch stmt.
 D dataAfter(UpdateStmt update)
          Returns the data at the program point in the CFG immediately following the specified update stmt.
 D dataBefore(CFGStmt stmt)
          Returns the data at the program point in the CFG immediately preceding the specified stmt.
 D exitData()
          Returns the data at the program point in the CFG immediately following the exit node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

dataBefore

public D dataBefore(CFGStmt stmt)
Returns the data at the program point in the CFG immediately preceding the specified stmt.

Returns:
this.stmt2Before[node]

dataAfter

public D dataAfter(UpdateStmt update)
Returns the data at the program point in the CFG immediately following the specified update stmt.

Returns:
this.update2After[node.next]

dataAfter

public BranchData<D> dataAfter(BranchStmt branch)
Returns the data at the program points in the CFG that immediately follow the specified branch stmt.

Returns:
[x : BranchData | x.thenData = this.stmt2Before[branch.then] && x.elseData = this.stmt2Before[branch.else] ]

exitData

public D exitData()
Returns the data at the program point in the CFG immediately following the exit node.

Returns:
this.exitData