static TokenRange jfind_range(L tok, S in) { ret jfind_range(tok, 1, in); } static TokenRange jfind_range(L tok, int startIdx, S in) { ret jfind_range(tok, startIdx, in, null); } static TokenRange jfind_range(L tok, S in, O condition) { ret jfind_range(tok, 1, in, condition); } static TokenRange jfind_range(L tok, int startIdx, S in, O condition) { ret jfind_range(tok, startIdx, javaTokForJFind_array(in), condition); } // assumes you preprocessed tokin static TokenRange jfind_range(L tok, L tokin) { ret jfind_range(tok, 1, tokin); } static TokenRange jfind_range(L tok, int startIdx, L tokin) { ret jfind_range(tok, startIdx, tokin, null); } static TokenRange jfind_range(LS tok, int startIdx, L tokin, O condition) { ret jfind_range(tok, startIdx, codeTokensAsStringArray(tokin), condition); } static TokenRange jfind_range(LS tok, int startIdx, S[] tokinC, O condition) { int i = findCodeTokens(tok, startIdx, false, tokinC, condition); ret i < 0 ? null : TokenRange(i-1, i+l(tokinC)*2); }