static S tok_autoCloseBrackets(S s) { ret join(tok_autoCloseBrackets(javaTok(s))); } // modifies tok static L<S> tok_autoCloseBrackets(L<S> tok) { bigloop: for (int i = 1; i < l(tok); i += 2) { if (eq(tok.get(i), ";")) { int j, level = 0; for (j = i-2; j >= 0; j -= 2) { S t = tok.get(j); if (eqOneOf(t, ";", "{")) break; if (eq(t, "}")) break; // TODO: skip over until other end of bracket else if (eq(t, ")")) --level; else if (eq(t, "(")) { if (eq(get(tok, j-2), "for")) break; if (eq(get(tok, j-4), "for")) break; // for ping ++level; } } while (level-- > 0) { tok.add(i++, ")"); tok.add(i++, ""); } } } ret tok; }
Began life as a copy of #1006346
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, sawdedvomwva, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1006347 |
| Snippet name: | tok_autoCloseBrackets |
| Eternal ID of this version: | #1006347/3 |
| Text MD5: | ca804d3c60278e14b4856413479ac97e |
| Author: | stefan |
| Category: | javax / magic transformation |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2017-08-11 16:38:50 |
| Source code size: | 786 bytes / 28 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 879 / 1003 |
| Version history: | 2 change(s) |
| Referenced in: | [show references] |