void (DirectGraph dgraph, HashSet<String> updated) { // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr1_my.dot")); // } catch(Exception ex) {ex.printStackTrace();} for (DirectNode node : dgraph.nodes) { // if (node.id.endsWith("_inc")) { // System.out.println(); // // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr1_my.dot")); // } catch (Exception ex) { // ex.printStackTrace(); // } // } updated.remove(node.id); mergeInVarMaps(node, dgraph); SFormsFastMapDirect varmap = inVarVersions.get(node.id); varmap = new SFormsFastMapDirect(varmap); SFormsFastMapDirect[] varmaparr = new SFormsFastMapDirect[]{varmap, null}; if (node.exprents != null) { for (Exprent expr : node.exprents) { processExprent(expr, varmaparr); } } if (varmaparr[1] == null) { varmaparr[1] = varmaparr[0]; } boolean this_updated = !mapsEqual(varmaparr[0], outVarVersions.get(node.id)) || (outNegVarVersions.containsKey(node.id) && !mapsEqual(varmaparr[1], outNegVarVersions.get(node.id))); if (this_updated) { outVarVersions.put(node.id, varmaparr[0]); if (dgraph.mapNegIfBranch.containsKey(node.id)) { outNegVarVersions.put(node.id, varmaparr[1]); } for (DirectNode nd : node.successors) { updated.add(nd.id); } } } }