1 19 20 package edu.umd.cs.findbugs.ba; 21 22 public class DFSCFGPrinter extends CFGPrinter implements DFSEdgeTypes { 23 private DepthFirstSearch dfs; 24 25 public DFSCFGPrinter(CFG cfg, DepthFirstSearch dfs) { 26 super(cfg); 27 this.dfs = dfs; 28 } 29 30 @Override 31 public String edgeAnnotate(Edge edge) { 32 int dfsEdgeType = dfs.getDFSEdgeType(edge); 33 switch (dfsEdgeType) { 34 case UNKNOWN_EDGE: 35 return "UNKNOWN_EDGE"; 36 case TREE_EDGE: 37 return "TREE_EDGE"; 38 case BACK_EDGE: 39 return "BACK_EDGE"; 40 case CROSS_EDGE: 41 return "CROSS_EDGE"; 42 case FORWARD_EDGE: 43 return "FORWARD_EDGE"; 44 default: 45 throw new IllegalStateException ("no DFS edge type?"); 46 } 47 } 48 } 49 50 | Popular Tags |