summaryrefslogtreecommitdiff
path: root/gnu/java/util/regex/RETokenBackRef.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/java/util/regex/RETokenBackRef.java')
-rw-r--r--gnu/java/util/regex/RETokenBackRef.java84
1 files changed, 48 insertions, 36 deletions
diff --git a/gnu/java/util/regex/RETokenBackRef.java b/gnu/java/util/regex/RETokenBackRef.java
index 4e068fac9..8f146222d 100644
--- a/gnu/java/util/regex/RETokenBackRef.java
+++ b/gnu/java/util/regex/RETokenBackRef.java
@@ -40,49 +40,61 @@ package gnu.java.util.regex;
import gnu.java.lang.CPStringBuilder;
-final class RETokenBackRef extends REToken {
+final class RETokenBackRef extends REToken
+{
private int num;
private boolean insens;
-
- RETokenBackRef(int subIndex, int num, boolean insens) {
- super(subIndex);
+
+ RETokenBackRef (int subIndex, int num, boolean insens)
+ {
+ super (subIndex);
this.num = num;
this.insens = insens;
}
// should implement getMinimumLength() -- any ideas?
- REMatch matchThis(CharIndexed input, REMatch mymatch) {
- if (num >= mymatch.start.length) return null;
- if (num >= mymatch.end.length) return null;
- int b,e;
- b = mymatch.start[num];
- e = mymatch.end[num];
- if ((b==-1)||(e==-1)) return null; // this shouldn't happen, but...
- if (b < 0) b += 1;
- if (e < 0) e += 1;
- for (int i=b; i<e; i++) {
- char c1 = input.charAt(mymatch.index+i-b);
- char c2 = input.charAt(i);
- if (c1 != c2) {
- if (insens) {
- if (c1 != toLowerCase(c2, unicodeAware) &&
- c1 != toUpperCase(c2, unicodeAware)) {
- return null;
- }
- }
- else {
+ REMatch matchThis (CharIndexed input, REMatch mymatch)
+ {
+ if (num >= mymatch.start.length)
+ return null;
+ if (num >= mymatch.end.length)
+ return null;
+ int b, e;
+ b = mymatch.start[num];
+ e = mymatch.end[num];
+ if ((b == -1) || (e == -1))
+ return null; // this shouldn't happen, but...
+ if (b < 0)
+ b += 1;
+ if (e < 0)
+ e += 1;
+ for (int i = b; i < e; i++)
+ {
+ char c1 = input.charAt (mymatch.index + i - b);
+ char c2 = input.charAt (i);
+ if (c1 != c2)
+ {
+ if (insens)
+ {
+ if (c1 != toLowerCase (c2, unicodeAware) &&
+ c1 != toUpperCase (c2, unicodeAware))
+ {
return null;
- }
- }
- }
- mymatch.index += e-b;
- return mymatch;
- }
-
- void dump(CPStringBuilder os) {
- os.append('\\').append(num);
- }
-}
-
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+ mymatch.index += e - b;
+ return mymatch;
+ }
+ void dump (CPStringBuilder os)
+ {
+ os.append ('\\').append (num);
+ }
+}