// visual bla(super); => visualize { ret bla(super.visualize()); } // cachedVisual bla(super); => cachedVisualize { ... } svoid tok_shortVisualize(LS tok) { int i = -1; while ((i = jfind_any(tok, i+1, "visual ", "cachedVisual ")) >= 0) { int j = tok_findEndOfStatement(tok, i); for (int k = i; k < j; k += 2) if (eqGet(tok, k, "super") && neqGet(tok, k+2, ".")) tokSet(tok, k, "super.visualize()"); tokSet(tok, j-1, "; }"); S head = eqGet(tok, i, "cachedVisual") ? "cachedVisualize" : "visualize"; tokSet(tok, i, head + " { ret"); reTok(tok, i, j); } }