for (int ch = this.ranges[i]; ch <= this.ranges[i+1]; ch ++) { if (ch > 0xffff) uppers.addRange(ch, ch); else { char uch = Character.toUpperCase((char)ch); uppers.addRange(uch, uch); for (int ch = uppers.ranges[i]; ch <= uppers.ranges[i+1]; ch ++) { if (ch > 0xffff) lowers.addRange(ch, ch); else { char uch = Character.toUpperCase((char)ch); lowers.addRange(uch, uch);
for (int ch = this.ranges[i]; ch <= this.ranges[i+1]; ch ++) { if (ch > 0xffff) uppers.addRange(ch, ch); else { char uch = Character.toUpperCase((char)ch); uppers.addRange(uch, uch); for (int ch = uppers.ranges[i]; ch <= uppers.ranges[i+1]; ch ++) { if (ch > 0xffff) lowers.addRange(ch, ch); else { char uch = Character.toLowerCase((char)ch); lowers.addRange(uch, uch);
result.addRange(ch, ch); if (ch < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) { ch = Character.toUpperCase((char)ch); result.addRange(ch, ch); ch = Character.toLowerCase((char)ch); result.addRange(ch, ch); result.addRange(0, UTF16_MAX); // **** We can not optimize. return FC_ANY; && REUtil.isLowSurrogate((ch2 = this.getString().charAt(1)))) cha = REUtil.composeFromSurrogates(cha, ch2); result.addRange(cha, cha); if (cha < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) { cha = Character.toUpperCase((char)cha); result.addRange(cha, cha); cha = Character.toLowerCase((char)cha); result.addRange(cha, cha);
} else { base = Token.createRange(); base.addRange(0, Token.UTF16_MAX); tok = Token.createRange(); if (this.read() != T_CHAR || this.chardata != '-') { // Here is no '-'. if (!this.isSet(RegularExpression.IGNORE_CASE) || c > 0xffff) { tok.addRange(c, c); if (type == T_CHAR && this.chardata == ']') { if (!this.isSet(RegularExpression.IGNORE_CASE) || c > 0xffff) { tok.addRange(c, c); tok.addRange('-', '-'); } else { int rangeend = this.chardata; tok.addRange(c, rangeend);
} else { base = Token.createRange(); base.addRange(0, Token.UTF16_MAX); tok = Token.createRange(); if (!end) { // if not shorthands... if (this.read() != T_CHAR || this.chardata != '-') { // Here is no '-'. tok.addRange(c, c); } else { this.next(); // Skips '-' if ((type = this.read()) == T_EOF) throw this.ex("parser.cc.2", this.offset); if (type == T_CHAR && this.chardata == ']') { tok.addRange(c, c); tok.addRange('-', '-'); } else { int rangeend = this.chardata; rangeend = this.decodeEscaped(); this.next(); tok.addRange(c, rangeend);
result.addRange(ch, ch); if (ch < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) { ch = Character.toUpperCase((char)ch); result.addRange(ch, ch); ch = Character.toLowerCase((char)ch); result.addRange(ch, ch); result.addRange(0, UTF16_MAX); // **** We can not optimize. return FC_ANY; && REUtil.isLowSurrogate((ch2 = this.getString().charAt(1)))) cha = REUtil.composeFromSurrogates(cha, ch2); result.addRange(cha, cha); if (cha < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) { cha = Character.toUpperCase((char)cha); result.addRange(cha, cha); cha = Character.toLowerCase((char)cha); result.addRange(cha, cha);
static protected final void addCaseInsensitiveCharRange(RangeToken tok, int start, int end) { int[] caseMap; int r1, r2; if (start <= end) { r1 = start; r2 = end; } else { r1 = end; r2 = start; } tok.addRange(r1, r2); for (int ch = r1; ch <= r2; ch++) { caseMap = CaseInsensitiveMap.get(ch); if (caseMap != null) { for (int i=0; i<caseMap.length; i+=2) { tok.addRange(caseMap[i], caseMap[i]); } } } } }