walk(start0, all_elements);
for(SequenceOrElement e : all_elements)
cache.ys.addAll(e, new Walk.YieldSet(e, cache).walk());
+ for(SequenceOrElement e : all_elements)
+ cache.ys2.addAll(e, new Walk.YieldSet2(e, cache).walk());
HashSet<Position> hp = new HashSet<Position>();
reachable(start0, hp);
for(Position p : hs) {
Element e = p.element();
if (e==null) continue;
- for(SequenceOrElement y : cache.ys.getAll(e)) {
+ for(SequenceOrElement y : cache.ys2.getAll(e)) {
+ //System.out.println(e + " yields " + y);
HashSet<Position> hp = new HashSet<Position>();
reachable(p.next(), hp);
move.addAll(y, hp);