ElementSet lastSet() { if(lastSet==null) { if(rhs.isNullable()) lastSet = ElementSets.union(lhs.lastSet(),rhs.lastSet()); else lastSet = rhs.lastSet(); } return lastSet; }
/** * Forms a strongly connected component by doing a reverse DFS. */ private void formConnectedComponent(ConnectedComponent group) { if(belongsToSCC()) return; this.cc=group; group.add(this); for (Element prev : backEdges) prev.formConnectedComponent(group); }
/** * Returns an union of two {@link ElementSet}s. * * This method performs better if lhs is bigger than rhs */ public static ElementSet union(ElementSet lhs, ElementSet rhs) { if(lhs.contains(rhs)) return lhs; if(lhs==ElementSet.EMPTY_SET) return rhs; if(rhs==ElementSet.EMPTY_SET) return lhs; return new MultiValueSet(lhs,rhs); }
ElementSet lastSet() { if(lastSet==null) { if(rhs.isNullable()) lastSet = ElementSets.union(lhs.lastSet(),rhs.lastSet()); else lastSet = rhs.lastSet(); } return lastSet; }
/** * Forms a strongly connected component by doing a reverse DFS. */ private void formConnectedComponent(ConnectedComponent group) { if(belongsToSCC()) return; this.cc=group; group.add(this); for (Element prev : backEdges) prev.formConnectedComponent(group); }
/** * Returns an union of two {@link ElementSet}s. * * This method performs better if lhs is bigger than rhs */ public static ElementSet union(ElementSet lhs, ElementSet rhs) { if(lhs.contains(rhs)) return lhs; if(lhs==ElementSet.EMPTY_SET) return rhs; if(rhs==ElementSet.EMPTY_SET) return lhs; return new MultiValueSet(lhs,rhs); }
ElementSet lastSet() { if(lastSet==null) { if(rhs.isNullable()) lastSet = ElementSets.union(lhs.lastSet(),rhs.lastSet()); else lastSet = rhs.lastSet(); } return lastSet; }
/** * Forms a strongly connected component by doing a reverse DFS. */ private void formConnectedComponent(ConnectedComponent group) { if(belongsToSCC()) return; this.cc=group; group.add(this); for (Element prev : backEdges) prev.formConnectedComponent(group); }
ElementSet lastSet() { if(lastSet==null) { if(rhs.isNullable()) lastSet = ElementSets.union(lhs.lastSet(),rhs.lastSet()); else lastSet = rhs.lastSet(); } return lastSet; }
/** * Forms a strongly connected component by doing a reverse DFS. */ private void formConnectedComponent(ConnectedComponent group) { if(belongsToSCC()) return; this.cc=group; group.add(this); for (Element prev : backEdges) prev.formConnectedComponent(group); }
ElementSet lastSet() { if(lastSet==null) { if(rhs.isNullable()) lastSet = ElementSets.union(lhs.lastSet(),rhs.lastSet()); else lastSet = rhs.lastSet(); } return lastSet; }
/** * Forms a strongly connected component by doing a reverse DFS. */ private void formConnectedComponent(ConnectedComponent group) { if(belongsToSCC()) return; this.cc=group; group.add(this); for (Element prev : backEdges) prev.formConnectedComponent(group); }