Imported GNU Classpath 0.90
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.
* sources.am: Regenerated.
* gcj/javaprims.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gnu/java/lang/VMInstrumentationImpl.java: New override.
* gnu/java/net/local/LocalSocketImpl.java: Likewise.
* gnu/classpath/jdwp/VMMethod.java: Likewise.
* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
interface.
* java/lang/Thread.java: Add UncaughtExceptionHandler.
* java/lang/reflect/Method.java: Implements GenericDeclaration and
isSynthetic(),
* java/lang/reflect/Field.java: Likewise.
* java/lang/reflect/Constructor.java
* java/lang/Class.java: Implements Type, GenericDeclaration,
getSimpleName() and getEnclosing*() methods.
* java/lang/Class.h: Add new public methods.
* java/lang/Math.java: Add signum(), ulp() and log10().
* java/lang/natMath.cc (log10): New function.
* java/security/VMSecureRandom.java: New override.
* java/util/logging/Logger.java: Updated to latest classpath
version.
* java/util/logging/LogManager.java: New override.
From-SVN: r113887
This commit is contained in:
@@ -55,35 +55,37 @@ final class RETokenLookBehind extends REToken
|
||||
return 0;
|
||||
}
|
||||
|
||||
boolean match(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();
|
||||
REMatch trymatch1 = (REMatch)mymatch.clone();
|
||||
REMatch newMatch = null;
|
||||
int curIndex = trymatch.index + behind.length() - input.length();
|
||||
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 false;
|
||||
if (next(input, trymatch1))
|
||||
newMatch = trymatch1;
|
||||
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;
|
||||
}
|
||||
|
||||
if (newMatch != null) {
|
||||
if (negative) return false;
|
||||
//else
|
||||
mymatch.assignFrom(newMatch);
|
||||
return true;
|
||||
}
|
||||
else { // no match
|
||||
if (negative)
|
||||
return next(input, mymatch);
|
||||
//else
|
||||
return false;
|
||||
else {
|
||||
if (negative) return mymatch;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,8 +107,8 @@ final class RETokenLookBehind extends REToken
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
boolean match(CharIndexed input, REMatch mymatch) {
|
||||
return index == mymatch.index;
|
||||
REMatch matchThis(CharIndexed input, REMatch mymatch) {
|
||||
return (index == mymatch.index ? mymatch : null);
|
||||
}
|
||||
|
||||
void dump(StringBuffer os) {}
|
||||
|
||||
Reference in New Issue
Block a user