public List<Statement> getReversePostOrderList() { return getReversePostOrderList(first); }
private void orderStatements() { for (Statement stat : statement.getReversePostOrderList()) { colOrderedIDoms.addWithKey(null, stat.id); } }
public HashMap<Integer, Set<Integer>> getExtendedPostdominators(Statement statement) { this.statement = statement; HashSet<Integer> set = new HashSet<>(); for (Statement st : statement.getStats()) { set.add(st.id); } this.factory = new FastFixedSetFactory<>(set); lstReversePostOrderList = statement.getReversePostOrderList(); // try { // DotExporter.toDotFile(statement, new File("c:\\Temp\\stat1.dot")); // } catch (Exception ex) { // ex.printStackTrace(); // } calcDefaultReachableSets(); removeErroneousNodes(); DominatorTreeExceptionFilter filter = new DominatorTreeExceptionFilter(statement); filter.initialize(); filterOnExceptionRanges(filter); filterOnDominance(filter); Set<Entry<Integer, FastFixedSet<Integer>>> entries = mapExtPostdominators.entrySet(); HashMap<Integer, Set<Integer>> res = new HashMap<>(entries.size()); for (Entry<Integer, FastFixedSet<Integer>> entry : entries) { res.put(entry.getKey(), entry.getValue().toPlainSet()); } return res; }
List<Statement> lstRevPost = container.getReversePostOrderList(); // sort order crucial!
public List<Statement> getReversePostOrderList() { return getReversePostOrderList(first); }
private void orderStatements() { for (Statement stat : statement.getReversePostOrderList()) { colOrderedIDoms.addWithKey(null, stat.id); } }
public HashMap<Integer, Set<Integer>> getExtendedPostdominators(Statement statement) { this.statement = statement; HashSet<Integer> set = new HashSet<>(); for (Statement st : statement.getStats()) { set.add(st.id); } this.factory = new FastFixedSetFactory<>(set); lstReversePostOrderList = statement.getReversePostOrderList(); // try { // DotExporter.toDotFile(statement, new File("c:\\Temp\\stat1.dot")); // } catch (Exception ex) { // ex.printStackTrace(); // } calcDefaultReachableSets(); removeErroneousNodes(); DominatorTreeExceptionFilter filter = new DominatorTreeExceptionFilter(statement); filter.initialize(); filterOnExceptionRanges(filter); filterOnDominance(filter); Set<Entry<Integer, FastFixedSet<Integer>>> entries = mapExtPostdominators.entrySet(); HashMap<Integer, Set<Integer>> res = new HashMap<>(entries.size()); for (Entry<Integer, FastFixedSet<Integer>> entry : entries) { res.put(entry.getKey(), entry.getValue().toPlainSet()); } return res; }
List<Statement> lstRevPost = container.getReversePostOrderList(); // sort order crucial!