// map: (condition -> goto) static SS ctxCaseGotos(S body) { L lines = lines(body); int i = 0; SS map = litorderedmap(); while (i < l(lines)) { T3 t = ctxCaseGoto(lines, i); if (t == null) break; map.put(t.a, t.b); i = t.c+1; } ret map; }