// S s = opt cast ...; static LS tok_equalsOptCast(LS tok) { if (!tok.contains("cast")) ret tok; int iVar = -1; while ((iVar = jfind(tok, iVar+1, " = opt cast")) >= 0) { int iTypeStart = tok_scanTypeBackwards(tok, iVar-2); int iCast = iVar+6; int j = scanToEndOfInitializer2(tok, iCast); S type = joinSubList(tok, iTypeStart, iVar-1); replaceTokens(tok, iCast-2, iCast+2, "optCast " + type + "("); tokPrepend(tok, j+1, ")"); reTok(tok, iCast-2, j+2); } ret tok; }