private static boolean backrefMatcher(REGlobalData gData, int parenIndex, String input, int end) { int len; int i; if (gData.parens == null || parenIndex >= gData.parens.length) return false; int parenContent = gData.parensIndex(parenIndex); if (parenContent == -1) return true; len = gData.parensLength(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { char c1 = input.charAt(parenContent + i); char c2 = input.charAt(gData.cp + i); if (c1 != c2 && upcase(c1) != upcase(c2)) return false; } } else if (!input.regionMatches(parenContent, input, gData.cp, len)) { return false; } gData.cp += len; return true; }
private static boolean backrefMatcher(REGlobalData gData, int parenIndex, char[] chars, int end) { int len; int i; int parenContent = gData.parens_index(parenIndex); if (parenContent == -1) return true; len = gData.parens_length(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { if (upcase(chars[parenContent + i]) != upcase(chars[gData.cp + i])) return false; } } else { for (i = 0; i < len; i++) { if (chars[parenContent + i] != chars[gData.cp + i]) return false; } } gData.cp += len; return true; }
Object executeRegExp(Context cx, Scriptable scope, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parensIndex(num); String parstr; if (cap_index != -1) { int cap_length = gData.parensLength(num); parsub = new SubString(str, cap_index, cap_length); res.parens[num] = parsub;
gData.setParens(parenIndex, gData.cp, 0); op = program[pc++]; int cap_index = gData.parensIndex(parenIndex); gData.setParens(parenIndex, cap_index, gData.cp - cap_index); op = program[pc++]; int parenIndex = getIndex(program, pc + INDEX_LEN); for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0);
Object executeRegExp(Context cx, Scriptable scopeObj, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parens_index(num); String parstr; if (cap_index != -1) { int cap_length = gData.parens_length(num); parsub = new SubString(charArray, cap_index, cap_length); res.parens[num] = parsub;
gData.set_parens(parenIndex, gData.cp, 0); op = program[pc++]; int parenIndex = getIndex(program, pc); pc += INDEX_LEN; cap_index = gData.parens_index(parenIndex); gData.set_parens(parenIndex, cap_index, gData.cp - cap_index); if (parenIndex > gData.lastParen) op = program[pc++]; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0);
gData.set_parens(j, -1, 0);
Object executeRegExp(Context cx, Scriptable scope, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parensIndex(num); String parstr; if (cap_index != -1) { int cap_length = gData.parensLength(num); parsub = new SubString(str, cap_index, cap_length); res.parens[num] = parsub;
gData.setParens(parenIndex, gData.cp, 0); op = program[pc++]; int cap_index = gData.parensIndex(parenIndex); gData.setParens(parenIndex, cap_index, gData.cp - cap_index); op = program[pc++]; int parenIndex = getIndex(program, pc + INDEX_LEN); for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0);
Object executeRegExp(Context cx, Scriptable scopeObj, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parens_index(num); String parstr; if (cap_index != -1) { int cap_length = gData.parens_length(num); parsub = new SubString(charArray, cap_index, cap_length); res.parens[num] = parsub;
gData.set_parens(parenIndex, gData.cp, 0); op = program[pc++]; int parenIndex = getIndex(program, pc); pc += INDEX_LEN; cap_index = gData.parens_index(parenIndex); gData.set_parens(parenIndex, cap_index, gData.cp - cap_index); if (parenIndex > gData.lastParen) op = program[pc++]; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.set_parens(parenIndex + k, -1, 0);
gData.set_parens(j, -1, 0);
Object executeRegExp(Context cx, Scriptable scope, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parensIndex(num); String parstr; if (cap_index != -1) { int cap_length = gData.parensLength(num); parsub = new SubString(str, cap_index, cap_length); res.parens[num] = parsub;
private static boolean backrefMatcher(REGlobalData gData, int parenIndex, String input, int end) { int len; int i; if (gData.parens == null || parenIndex >= gData.parens.length) return false; int parenContent = gData.parensIndex(parenIndex); if (parenContent == -1) return true; len = gData.parensLength(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { char c1 = input.charAt(parenContent + i); char c2 = input.charAt(gData.cp + i); if (c1 != c2 && upcase(c1) != upcase(c2)) return false; } } else if (!input.regionMatches(parenContent, input, gData.cp, len)) { return false; } gData.cp += len; return true; }
gData.setParens(parenIndex, gData.cp, 0); op = program[pc++]; int cap_index = gData.parensIndex(parenIndex); gData.setParens(parenIndex, cap_index, gData.cp - cap_index); op = program[pc++]; int parenIndex = getIndex(program, pc + INDEX_LEN); for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0);
private static boolean backrefMatcher(REGlobalData gData, int parenIndex, char[] chars, int end) { int len; int i; int parenContent = gData.parens_index(parenIndex); if (parenContent == -1) return true; len = gData.parens_length(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { if (upcase(chars[parenContent + i]) != upcase(chars[gData.cp + i])) return false; } } else { for (i = 0; i < len; i++) { if (chars[parenContent + i] != chars[gData.cp + i]) return false; } } gData.cp += len; return true; }
Object executeRegExp(Context cx, Scriptable scope, RegExpImpl res, String str, int indexp[], int matchType) REGlobalData gData = new REGlobalData(); res.parens = new SubString[re.parenCount]; for (num = 0; num < re.parenCount; num++) { int cap_index = gData.parensIndex(num); String parstr; if (cap_index != -1) { int cap_length = gData.parensLength(num); parsub = new SubString(str, cap_index, cap_length); res.parens[num] = parsub;
private static boolean backrefMatcher(REGlobalData gData, int parenIndex, String input, int end) { int len; int i; if (gData.parens == null || parenIndex >= gData.parens.length) return false; int parenContent = gData.parensIndex(parenIndex); if (parenContent == -1) return true; len = gData.parensLength(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { char c1 = input.charAt(parenContent + i); char c2 = input.charAt(gData.cp + i); if (c1 != c2 && upcase(c1) != upcase(c2)) return false; } } else if (!input.regionMatches(parenContent, input, gData.cp, len)) { return false; } gData.cp += len; return true; }
gData.setParens(parenIndex, gData.cp, 0); op = program[pc++]; int cap_index = gData.parensIndex(parenIndex); gData.setParens(parenIndex, cap_index, gData.cp - cap_index); op = program[pc++]; int parenIndex = getIndex(program, pc + INDEX_LEN); for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0); pc += 2 * INDEX_LEN; for (int k = 0; k < parenCount; k++) { gData.setParens(parenIndex + k, -1, 0);
private static boolean backrefMatcher(REGlobalData gData, int parenIndex, String input, int end) { int len; int i; if (gData.parens == null || parenIndex >= gData.parens.length) return false; int parenContent = gData.parensIndex(parenIndex); if (parenContent == -1) return true; len = gData.parensLength(parenIndex); if ((gData.cp + len) > end) return false; if ((gData.regexp.flags & JSREG_FOLD) != 0) { for (i = 0; i < len; i++) { char c1 = input.charAt(parenContent + i); char c2 = input.charAt(gData.cp + i); if (c1 != c2 && upcase(c1) != upcase(c2)) return false; } } else if (!input.regionMatches(parenContent, input, gData.cp, len)) { return false; } gData.cp += len; return true; }