diff options
| author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-09-01 17:19:54 +0000 |
|---|---|---|
| committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-09-01 17:19:54 +0000 |
| commit | 5f55de7aeceb54ed19113fcda5decbfb21d3c8f9 (patch) | |
| tree | 1498de7d21de9f6138c217484f3bef4a695179c8 /gnu/java/util/regex/RETokenLookBehind.java | |
| parent | e6b426c06016fe3f2c5ad814caf42d486564b9a0 (diff) | |
| download | classpath-5f55de7aeceb54ed19113fcda5decbfb21d3c8f9.tar.gz | |
2008-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/java/util/regex/BacktrackStack.java,
* gnu/java/util/regex/CharIndexed.java,
* gnu/java/util/regex/CharIndexedCharArray.java,
* gnu/java/util/regex/CharIndexedCharSequence.java,
* gnu/java/util/regex/CharIndexedInputStream.java,
* gnu/java/util/regex/CharIndexedString.java,
* gnu/java/util/regex/CharIndexedStringBuffer.java,
* gnu/java/util/regex/RE.java,
* gnu/java/util/regex/REException.java,
* gnu/java/util/regex/REFilterInputStream.java,
* gnu/java/util/regex/REMatch.java,
* gnu/java/util/regex/REMatchEnumeration.java,
* gnu/java/util/regex/RESyntax.java,
* gnu/java/util/regex/REToken.java,
* gnu/java/util/regex/RETokenAny.java,
* gnu/java/util/regex/RETokenBackRef.java,
* gnu/java/util/regex/RETokenChar.java,
* gnu/java/util/regex/RETokenEnd.java,
* gnu/java/util/regex/RETokenEndOfPreviousMatch.java,
* gnu/java/util/regex/RETokenEndSub.java,
* gnu/java/util/regex/RETokenIndependent.java,
* gnu/java/util/regex/RETokenLookAhead.java,
* gnu/java/util/regex/RETokenLookBehind.java,
* gnu/java/util/regex/RETokenNamedProperty.java,
* gnu/java/util/regex/RETokenOneOf.java,
* gnu/java/util/regex/RETokenPOSIX.java,
* gnu/java/util/regex/RETokenRange.java,
* gnu/java/util/regex/RETokenRepeated.java,
* gnu/java/util/regex/RETokenStart.java,
* gnu/java/util/regex/RETokenWordBoundary.java,
* gnu/java/util/regex/UncheckedRE.java:
Fix indentation.
Diffstat (limited to 'gnu/java/util/regex/RETokenLookBehind.java')
| -rw-r--r-- | gnu/java/util/regex/RETokenLookBehind.java | 110 |
1 files changed, 64 insertions, 46 deletions
diff --git a/gnu/java/util/regex/RETokenLookBehind.java b/gnu/java/util/regex/RETokenLookBehind.java index d02101714..f61c93c0a 100644 --- a/gnu/java/util/regex/RETokenLookBehind.java +++ b/gnu/java/util/regex/RETokenLookBehind.java @@ -47,72 +47,90 @@ final class RETokenLookBehind extends REToken REToken re; boolean negative; - RETokenLookBehind(REToken re, boolean negative) throws REException { - super(0); + RETokenLookBehind (REToken re, boolean negative) throws REException + { + super (0); this.re = re; this.negative = negative; } - int getMaximumLength() { + int getMaximumLength () + { return 0; } - REMatch matchThis(CharIndexed input, REMatch mymatch) + REMatch matchThis (CharIndexed input, REMatch mymatch) { - int max = re.getMaximumLength(); - CharIndexed behind = input.lookBehind(mymatch.index, max); - REMatch trymatch = (REMatch)mymatch.clone(); - int diff = behind.length() - input.length(); + int max = re.getMaximumLength (); + CharIndexed behind = input.lookBehind (mymatch.index, max); + REMatch trymatch = (REMatch) mymatch.clone (); + int diff = behind.length () - input.length (); int curIndex = trymatch.index + diff; trymatch.index = 0; trymatch.offset = 0; - RETokenMatchHereOnly stopper = new RETokenMatchHereOnly(curIndex); - REToken re1 = (REToken) re.clone(); - re1.chain(stopper); - if (re1.match(behind, trymatch)) { - if (negative) return null; - for (int i = 0; i < trymatch.start.length; i++) { - if (trymatch.start[i] != -1 && trymatch.end[i] != -1) { - trymatch.start[i] -= diff; - if (trymatch.start[i] < 0) trymatch.start[i] -= 1; - trymatch.end[i] -= diff; - if (trymatch.end[i] < 0) trymatch.end[i] -= 1; + RETokenMatchHereOnly stopper = new RETokenMatchHereOnly (curIndex); + REToken re1 = (REToken) re.clone (); + re1.chain (stopper); + if (re1.match (behind, trymatch)) + { + if (negative) + return null; + for (int i = 0; i < trymatch.start.length; i++) + { + if (trymatch.start[i] != -1 && trymatch.end[i] != -1) + { + trymatch.start[i] -= diff; + if (trymatch.start[i] < 0) + trymatch.start[i] -= 1; + trymatch.end[i] -= diff; + if (trymatch.end[i] < 0) + trymatch.end[i] -= 1; + } } + trymatch.index = mymatch.index; + trymatch.offset = mymatch.offset; + return trymatch; + } + else + { + if (negative) + return mymatch; + return null; } - trymatch.index = mymatch.index; - trymatch.offset = mymatch.offset; - return trymatch; - } - else { - if (negative) return mymatch; - return null; - } } - void dump(CPStringBuilder os) { - os.append("(?<"); - os.append(negative ? '!' : '='); - re.dumpAll(os); - os.append(')'); - } - - private static class RETokenMatchHereOnly extends REToken { + void dump (CPStringBuilder os) + { + os.append ("(?<"); + os.append (negative ? '!' : '='); + re.dumpAll (os); + os.append (')'); + } - int getMaximumLength() { return 0; } + private static class RETokenMatchHereOnly extends REToken + { - private int index; + int getMaximumLength () + { + return 0; + } - RETokenMatchHereOnly(int index) { - super(0); - this.index = index; - } + private int index; - REMatch matchThis(CharIndexed input, REMatch mymatch) { - return (index == mymatch.index ? mymatch : null); - } + RETokenMatchHereOnly (int index) + { + super (0); + this.index = index; + } - void dump(CPStringBuilder os) {} + REMatch matchThis (CharIndexed input, REMatch mymatch) + { + return (index == mymatch.index ? mymatch : null); + } + void dump (CPStringBuilder os) + { } -} + } +} |
