sbool reTok_modify_check; // f: func(L) -> L static L reTok_modify(L tok, int i, int j, O f) { // extend i to an "N" token // and j to "C" (so j-1 is an "N" token) i = i & ~1; j = j | 1; L t = javaTok(joinSubList(tok, i, j)); if (f != null) { t = (L) callF(f, t); if (reTok_modify_check) assertEquals("Improperly tokenized", javaTok(join(t)), t); } replaceListPart(tok, i, j, t); ret tok; }