Libraryless. Click here for Pure Java version (5788L/32K).
static S jreplace1(S s, S in, S out) { ret jreplace1(s, in, out, null); } static S jreplace1(S s, S in, S out, O condition) { L<S> tok = javaTok(s); ret jreplace1(tok, in, out, condition) ? join(tok) : s; } // leaves tok properly tokenized // returns true iff anything was replaced static boolean jreplace1(L<S> tok, S in, S out) { ret jreplace1(tok, in, out, false, true, null); } static boolean jreplace1(L<S> tok, S in, S out, O condition) { ret jreplace1(tok, in, out, false, true, condition); } static boolean jreplace1(L<S> tok, S in, S out, boolean ignoreCase, boolean reTok, O condition) { L<S> tokin = javaTok(in); jfind_preprocess(tokin); boolean anyChange = false; int i = 1; while ((i = findCodeTokens(tok, i, ignoreCase, toStringArray(codeTokensOnly(tokin)), condition)) >= 0) { L<S> subList = tok.subList(i-1, i+l(tokin)-1); // N to N S expansion = jreplaceExpandRefs(out, subList); int end = i+l(tokin)-2; clearAllTokens(tok, i, end); // C to C tok.set(i, expansion); int l = l(tok); if (reTok) // would this ever be false?? reTok(tok, i, end); i = end+l(tok)-l; anyChange = true; } ret anyChange; } static bool jreplace1_debug;
Began life as a copy of #1002133
download show line numbers debug dex old transpilations
Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1004948 |
Snippet name: | jreplace1 - go through code just once |
Eternal ID of this version: | #1004948/4 |
Text MD5: | cb080431e11cff13e66527b7c5fa2521 |
Transpilation MD5: | 059498dceddcac4eead0ef7021e5517b |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-03-07 21:42:29 |
Source code size: | 1255 bytes / 41 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 634 / 811 |
Version history: | 3 change(s) |
Referenced in: | #1006654 - Standard functions list 2 (LIVE, continuation of #761) #1019424 - jreplace_first - replace only once |