public void dumpDataflow(AnalysisType analysis) { System.out.println(this.getClass().getName() + " analysis for " + getCFG().getMethodName() + getCFG().getMethodSig() + " { "); try { for (Location loc : getCFG().orderedLocations()) { System.out.println("\nBefore: " + analysis.factToString(getFactAtLocation(loc))); System.out.println("Location: " + loc); System.out.println("After: " + analysis.factToString(getFactAfterLocation(loc))); } } catch (DataflowAnalysisException e) { AnalysisContext.logError("error dumping dataflow analysis", e); System.out.println(e); } System.out.println("}"); } }
/** * Constructor. * * @param dataflow * the Dataflow object whose values should be used to annotate * the printed CFG */ public DataflowCFGPrinter(Dataflow<Fact, AnalysisType> dataflow) { super(dataflow.getCFG()); this.dataflow = dataflow; setIsForwards(dataflow.getAnalysis().isForwards()); }
public void dumpDataflow(AnalysisType analysis) { System.out.println(this.getClass().getName() + " analysis for " + getCFG().getMethodName() + getCFG().getMethodSig() + " { "); try { for (Location loc : getCFG().orderedLocations()) { System.out.println("\nBefore: " + analysis.factToString(getFactAtLocation(loc))); System.out.println("Location: " + loc); System.out.println("After: " + analysis.factToString(getFactAfterLocation(loc))); } } catch (DataflowAnalysisException e) { AnalysisContext.logError("error dumping dataflow analysis", e); System.out.println(e); } System.out.println("}"); } }
/** * Constructor. * * @param dataflow * the Dataflow object whose values should be used to annotate * the printed CFG */ public DataflowCFGPrinter(Dataflow<Fact, AnalysisType> dataflow) { super(dataflow.getCFG()); this.dataflow = dataflow; setIsForwards(dataflow.getAnalysis().isForwards()); }