re PR libgcj/37636 (java tools are unable to find resource files)

libjava/ChangeLog:

2008-10-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

        * sources.am, Makfile.in: Regenerate.

2008-10-17  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Fix bashisms.
	* configure: Regenerate.

2008-10-15  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Disable build of gjdoc, if configured without
	--with-antlr-jar or if no antlr.jar found.
	* configure: Regenerate.

2008-10-09  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* classpath/configure.ac,
	* classpath/m4/ac_prog_antlr.m4,
	* classpath/m4/ac_prog_java.m4,
	* classpath/tools/Makefile.am:
	Ported --regen-gjdoc-parser patch and
	cantlr support from GNU Classpath.

2008-10-06  Andrew Haley  <aph@redhat.com>

	* java/lang/Thread.java (Thread): Always create the ThreadLocalMap
	when creating a thread.
	(getThreadLocals) Don't lazily create the ThreadLocalMap.

2008-09-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* classpath/java/lang/ThreadLocalMap.java,
	* java/lang/ThreadLocalMap$Entry.h,
	* java/lang/ThreadLocalMap.h,
	* lib/java/lang/ThreadLocalMap.class,
	* lib/java/lang/ThreadLocalMap$Entry.class:
	Add the new files for the ThreadLocal patch.

2008-09-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* classpath/ChangeLog,
	* classpath/java/lang/InheritableThreadLocal.java,
	* classpath/java/lang/Thread.java,
	* classpath/java/lang/ThreadLocal.java:
	Merge Daniel Frampton's ThreadLocal patch.
	* gcj/javaprims.h: Updated.
	* java/lang/Thread.h: Regenerated.
	* java/lang/Thread.java:
	Replace WeakIdentityHashMap with ThreadLocalMap.
	(getThreadLocals()): Likewise.
	* java/lang/ThreadLocal.h: Regenerated.
	* java/lang/ThreadLocal.java:
	(computeNextHash()): New method.
	(ThreadLocal()): Initialise fastHash.
	(internalGet()): Updated to match Classpath's get().
	(internalSet(Object)): Likewise for set(Object).
	(internalRemove()): Likewise for remove().
	
2008-09-25  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* classpath/configure,
	* classpath/configure.ac:
	Resynchronise with Classpath's configure.
	* classpath/examples/Makefile.in:
	Add equivalent support for building as in
	tools/Makefile.in.
	* classpath/java/nio/Buffer.java,
	* classpath/java/nio/ByteBuffer.java,
	* classpath/java/nio/ByteBufferImpl.java,
	* classpath/java/nio/CharBuffer.java,
	* classpath/java/nio/CharBufferImpl.java,
	* classpath/java/nio/CharSequenceBuffer.java,
	* classpath/java/nio/CharViewBufferImpl.java,
	* classpath/java/nio/DirectByteBufferImpl.java,
	* classpath/java/nio/DoubleBuffer.java,
	* classpath/java/nio/DoubleBufferImpl.java,
	* classpath/java/nio/DoubleViewBufferImpl.java,
	* classpath/java/nio/FloatBuffer.java,
	* classpath/java/nio/FloatBufferImpl.java,
	* classpath/java/nio/FloatViewBufferImpl.java,
	* classpath/java/nio/IntBuffer.java,
	* classpath/java/nio/IntBufferImpl.java,
	* classpath/java/nio/IntViewBufferImpl.java,
	* classpath/java/nio/LongBuffer.java,
	* classpath/java/nio/LongBufferImpl.java,
	* classpath/java/nio/LongViewBufferImpl.java,
	* classpath/java/nio/MappedByteBuffer.java,
	* classpath/java/nio/MappedByteBufferImpl.java,
	* classpath/java/nio/ShortBuffer.java,
	* classpath/java/nio/ShortBufferImpl.java,
	* classpath/java/nio/ShortViewBufferImpl.java:
	Replace use of gnu.classpath.Pointer with gnu.gcj.RawData,
	and fix some formatting issues.
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaLexer.java,
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaLexer.smap,
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.java,
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.smap,
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.java,
	* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.txt:
	Regenerated (later version of antlr).
	* java/nio/Buffer.h: Regenerated.
	* java/nio/Buffer.java: Ported changes from Classpath.
	* java/nio/ByteBuffer.h,
	* java/nio/CharBuffer.h: Regenerated.
	* java/nio/DirectByteBufferImpl.java: Ported changes from
	Classpath.
	* java/nio/DoubleBuffer.h,
	* java/nio/FloatBuffer.h,
	* java/nio/IntBuffer.h,
	* java/nio/LongBuffer.h,
	* java/nio/MappedByteBuffer.h,
	* java/nio/MappedByteBufferImpl.h: Regenerated.
	* java/nio/MappedByteBufferImpl.java: Ported changes from
	Classpath.
	* java/nio/ShortBuffer.h: Regenerated.

2008-09-24  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Search for antlr.jar, if not configured.
	* configure: Regenerate.

2008-09-24  Matthias Klose  <doko@ubuntu.com>

	* Makefile.am: Build a gjdoc binary, if enabled.
	* configure.ac: Add options --disable-gjdoc, --with-antlr-jar=file.
	* Makefile.in, */Makefile.in, configure: Regenerate.

2008-09-22  Andrew Haley  <aph@redhat.com>

	* java/lang/String.java (toString(char[], int, int)): New method.

2008-09-14  Matthias Klose  <doko@ubuntu.com>

	Import GNU Classpath (libgcj-import-20080914).

	* Regenerate class and header files.
	* Regenerate auto* files.
	* configure.ac: Don't pass --disable-gjdoc to classpath.
	* sources.am: Regenerated.
	* HACKING: Mention to build gjdoc in maintainer builds.
	* gnu/classpath/Configuration.java: Update classpath version.
	* gcj/javaprims.h: Update.

2008-09-08  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* Makefile.am: Replace natStringBuffer.cc
	and natStringBuilder.cc with natAbstractStringBuffer.cc.
	* Makefile.in: Regenerated.
	* java/lang/AbstractStringBuffer.java:
	(append(int)): Made native.
	(regionMatches(int,String)): Likewise.
	* java/lang/StringBuffer.h: Regenerated.
	* java/lang/StringBuffer.java: Remerged with GNU Classpath.
	* java/lang/StringBuilder.h: Regenerated.
	* java/lang/StringBuilder.java: Remerged with GNU Classpath.
	* java/lang/natAbstractStringBuffer.cc: Provide common
	native methods for StringBuffer and StringBuilder.
	* java/lang/natStringBuffer.cc,
	* java/lang/natStringBuilder.cc: Removed.

2008-09-04  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* Makefile.in,
	* classpath/configure: Regenerated.
	* gnu/gcj/util/natDebug.cc,
	* gnu/gcj/xlib/natColormap.cc,
	* gnu/gcj/xlib/natDisplay.cc,
	* gnu/gcj/xlib/natDrawable.cc,
	* gnu/gcj/xlib/natFont.cc,
	* gnu/gcj/xlib/natWMSizeHints.cc,
	* gnu/gcj/xlib/natWindow.cc,
	* gnu/gcj/xlib/natXImage.cc:
	Add :: prefix to namespaces.
	* java/io/CharArrayWriter.h,
	* java/lang/StringBuffer.h:
	Regenerated using patched gjavah.
	* java/lang/natStringBuffer.cc:
	Fix naming of append(jint).
	* java/sql/Timestamp.h: Regenerated
	using patched gjavah.
	* jni.cc: Rename p to functions
	to match change in GNU Classpath.
	* scripts/makemake.tcl: Switch
	gnu.java.math to BC compilation.
	* sources.am: Regenerated.

2008-08-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>
	
	* Makefile.in: Updated location of Configuration.java.
	* classpath/lib/gnu/java/locale/LocaleData.class: Regenerated.

2008-08-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>
	
	* Makefile.in: Updated with new Java files.
	* classpath/configure: Regenerated.
	* classpath/tools/Makefile.am: Add missing
	use of GJDOC_EX so --disable-gjdoc works.
	* classpath/tools/Makefile.in: Regenerated.

2008-08-15  Matthias Klose  <doko@ubuntu.com>

	Import GNU Classpath (libgcj-import-20080811).

	* Regenerate class and header files.
	* Regenerate auto* files.
	* configure.ac: Don't pass --with-fastjar to classpath, substitute new
	dummy value in classpath/gnu/classpath/Configuration.java.in, pass
	--disable-gjdoc to classpath.
	* scripts/makemake.tcl:
	* sources.am: Regenerated.
	* java/lang/AbstractStringBuffer.java, gnu/java/lang/VMCPStringBuilder.java:
	New, copied from classpath, use System instead of VMSystem.
	* java/lang/StringBuffer.java: Merge from classpath.
	* java/lang/ClassLoader.java: Merge from classpath.
	* gcj/javaprims.h: Update class definitions,
	remove _Jv_jobjectRefType, jobjectRefType definitions.

libjava/classpath/ChangeLog.gcj:

2008-10-21  Matthias Klose  <doko@ubuntu.com>

        * classpath/tools/gnu/classpath/tools/gjdoc/expr/Java*: Move from ...
        * classpath/tools/generated/gnu/classpath/tools/gjdoc/expr/ ... here.
        * Update .class files.
        
2008-10-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

        * tools/Makefile.am:
        Always generate parser in the srcdir.

2008-10-21  Matthias Klose  <doko@ubuntu.com>

        * doc/Makefile.am (MAINTAINERCLEANFILES): Add gjdoc.1.
        * doc/Makefile.in: Regenerate.

2008-10-20  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Don't check for working java, if not configured
        with --enable-java-maintainer-mode.
	* configure: Regenerate.

2008-10-19  Matthias Klose  <doko@ubuntu.com>

	* m4/ac_prog_java.m4: Revert previous change.
	* m4/ac_prog_javac.m4: Apply it here.
	* configure: Regenerate.

2008-10-19  Matthias Klose  <doko@ubuntu.com>

	* m4/ac_prog_javac.m4: Don't check for working javac, if not configured
	with --enable-java-maintainer-mode.
	* configure: Regenerate.
	* Makefile.in, */Makefile.in: Regenerate.

2008-09-30  Matthias Klose  <doko@ubuntu.com>

	* m4/ac_prog_antlr.m4: Check for cantlr binary as well.

2008-09-29  Matthias Klose  <doko@ubuntu.com>

	* m4/ac_prog_antlr.m4: Check for antlr binary as well.

2008-09-28  Matthias Klose  <doko@ubuntu.com>

	* PR libgcj/37636. Revert:
	2008-02-20  Matthias Klose  <doko@ubuntu.com>

	* tools/Makefile.am ($(TOOLS_ZIP)): Revert part of previous change,
	Do copy resource files in JAVA_MAINTAINER_MODE only.
	* tools/Makefile.in: Regenerate.

2008-09-14  Matthias Klose  <doko@ubuntu.com>

	* m4/ac_prog_javac_works.m4, m4/ac_prog_javac.m4, m4/acinclude.m4:
	Revert local changes.
	* m4/ac_prog_antlr.m4: Check for an runantlr binary.
	* tools/Makefile.am, lib/Makefile.am: Revert local changes (JCOMPILER).
	* tools/Makefile.am: Remove USE_JAVAC_FLAGS, pass ANTLR_JAR in
	GLIBJ_CLASSPATH.

2008-09-14  Matthias Klose  <doko@ubuntu.com>

	Revert:
	Daniel Frampton  <zyridium at zyridium.net>

	* AUTHORS: Added.
	* java/lang/InheritableThreadLocal.java,
	* java/lang/Thread.java,
	* java/lang/ThreadLocal.java:
	Modified to use java.lang.ThreadLocalMap.
	* java/lang/ThreadLocalMap.java:
	New cheaper ThreadLocal-specific WeakHashMap.

2008-08-15  Matthias Klose  <doko@ubuntu.com>

	* m4/acinclude.m4 (CLASSPATH_JAVAC_MEM_CHECK): Remove unknown
	args for javac.

libjava/classpath/ChangeLog:

2008-10-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

        * m4/ac_prog_antlr.m4:
        Remove redundant checks.
        * tools/Makefile.am:
        Use gjdoc_gendir when calling antlr.

2008-10-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

        * configure.ac:
        Remove superfluous AC_PROG_JAVA call.

2008-10-06  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* m4/ac_prog_antlr:
	Check for cantlr as well.
	* tools/Makefile.am:
	Only build GJDoc parser when both
	CREATE_GJDOC and CREATE_GJDOC_PARSER
	are on.
	
2008-10-02  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* configure.ac:
	Add regen-gjdoc-parser option,
	and separate antlr tests.
	* m4/ac_prog_antlr.m4:
	Turn single test into AC_LIB_ANTLR
	and AC_PROG_ANTLR.
	* m4/ac_prog_java.m4:
	Quote tests.
	* tools/Makefile.am:
	Support CREATE_GJDOC_PARSER option.

2008-09-14  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* examples/Makefile.am:
        Check lib directly as well as glibj.zip
        for boot classes.
	* m4/acinclude.m4:
        Only require the class files to be built
        to allow the tools and examples to be built,
        not the installation of glibj.zip.
	* tools/Makefile.am:
	Check lib directly as well as glibj.zip
	for boot classes.

2008-09-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* examples/Makefile.am,
	* lib/Makefile.am:
	Add GCJ rules.
	* m4/ac_prog_javac.m4:
	Check whether JAVAC is gcj.
	* m4/ac_prog_javac_works.m4:
	Add GCJ rules.
	* m4/acinclude.m4:
	Don't bother checking for -J
	if using GCJ.
	* tools/Makefile.am:
	Add GCJ rules.

2007-08-23  Daniel Frampton  <zyridium@zyridium.net>

	* AUTHORS: Added.
	* java/lang/InheritableThreadLocal.java,
	* java/lang/Thread.java,
	* java/lang/ThreadLocal.java:
	Modified to use java.lang.ThreadLocalMap.
	* java/lang/ThreadLocalMap.java:
	New cheaper ThreadLocal-specific WeakHashMap.

2008-02-07  Ian Rogers  <ian.rogers@manchester.ac.uk>

	* java/util/zip/ZipEntry.java:
	Use byte fields instead of integer fields,
	store the time as well as the DOS time and
	don't retain a global Calendar instance.
	(setDOSTime(int)): Set KNOWN_DOSTIME instead
	of KNOWN_TIME, and unset KNOWN_TIME.
	(getDOSTime()): Compute DOS time from UNIX time
	only when needed.
	(clone()): Provide cloning via the ZipEntry constructor
	where possible.
	(setTime(long)): Don't compute DOS time at this point.
	(getCalendar()): Removed.
	
2008-09-09  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* tools/gnu/classpath/tools/getopt/Parser.java:
	(setHeader(String)): Make synchronized.
	(setFooter(String)): Likewise.
	* tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java,
	(reset()): Make synchronized.
	(name(Class)): Likewise.
	
2008-09-04  Robert Schuster  <robertschuster@fsfe.org>

	* gnu/java/nio/charset/ByteDecodeLoopHelper:
	(arrayDecodeLoop): Added new break label, escape to that label.
	* gnu/java/nio/charset/ByteEncodeLoopHelper:
	(arrayDecodeLoop): Added new break label, escape to that label.

2008-09-04  Robert Schuster  <robertschuster@fsfe.org>

	* java/text/DecimalFormat.java:
	(scanFix): Use 'i + 1' when looking at following character.
	(scanNegativePattern): Dito.

2008-09-02  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* tools/gnu/classpath/tools/javah/ClassWrapper.java:
	(makeVtable()): Populate methodNameMap.
	(printMethods(CniPrintStream)): Always use pre-populated
	methodNameMap for bridge targets.

2008-09-01  Mario Torre  <neugens@aicas.com>

	* gnu/java/awt/peer/x/XImage.java (XImageProducer): remove @Override
	annotation to allow compilation on javac < 1.6 and ecj < 3.4.

2008-09-01  Mario Torre  <neugens@aicas.com>

	* gnu/java/awt/peer/x/XGraphicsDevice.java (getDisplay): fix to support
	new Escher API.
	* gnu/java/awt/peer/x/XImage.java (getSource): method implemented.
	* gnu/java/awt/peer/x/XImage.java (XImageProducer): implement ImageProducer
	for getSource.
	 
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.

2008-09-01  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/java/util/regex/RETokenStart.java:
	(getMaximumLength()): Add Override annotation.
	(matchThis(CharIndexed, REMatch)): Likewise.
	(returnsFixedLengthMatches()): Renamed from
	returnsFixedLengthmatches and added Override
	annotation.
	(findFixedLengthMatches(CharIndexed,REMatch,int)):
	Add Override annotation.
	(dump(CPStringBuilder)): Likewise.
	* gnu/javax/print/ipp/IppRequest.java:
	(RequestWriter.writeOperationAttributes(AttributeSet)):
	Throw exception, don't just create and drop it.
	* javax/management/MBeanServerPermission.java:
	(MBeanServerPermissionCollection.add(Permission)): Compare
	against individual Strings not the entire array, and
	store the result of replace.
	* javax/swing/text/html/StyleSheet.java:
	(setBaseFontSize(size)): Store result of trim().

2008-09-01  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/tools/FileObject.java:
	(openReader(boolean)): Document new parameter.
	
2008-03-27  Michael Franz  <mvfranz@gmail.com>

	PR classpath/35690:
	* javax/tools/FileObject.java:
	(toUri()): Fix case from toURI.
	(openReader(boolean)): Add missing boolean argument.
	
2008-08-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	PR classpath/35487:
	* gnu/javax/management/Server.java:
	(beans): Change to ConcurrentHashMap.
	(defaultDomain): Make final.
	(outer): Likewise.
	(LazyListenersHolder): Added to wrap
	listeners, also now a ConcurrentHashMap,
	providing lazy initialisation safely.
	(sequenceNumber): Documented.
	(getBean(ObjectName)): Remove redundant cast.
	(addNotificationListener(ObjectName,NotificationListener,
	NotificationFilter,Object)): Remove map initialisation
	and use holder.
	(getObjectInstance(ObjectName)): Remove redundant cast.
	(registerMBean(Object,ObjectName)): Add bean atomically.
	(removeNotificationListener(ObjectName,NotificationListener)):
	Simplified.
	(removeNotificationListener(ObjectName,NotificationListener,
	NotificationFilter,Object)): Likewise.
	(notify(ObjectName,String)): Documented.
	
2008-08-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/javax/management/Server.java:
	Genericised.

2008-08-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/javax/management/Translator.java:
	Genericised.

2008-08-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/management/DefaultLoaderRepository.java,
	* javax/management/JMX.java,
	* javax/management/MBeanAttributeInfo.java,
	* javax/management/MBeanConstructorInfo.java,
	* javax/management/MBeanOperationInfo.java,
	* javax/management/MBeanServerDelegate.java:
	Fix warnings due to generics.

2008-08-25  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/management/MBeanPermission.java,
	* javax/management/MBeanServerDelegate.java,
	* javax/management/MBeanServerFactory.java,
	* javax/management/MBeanServerInvocationHandler.java,
	* javax/management/MBeanServerPermission.java:
	Fix warnings due to use of non-generic collections.

2008-08-25  Mario Torre  <neugens@aicas.com>

	* gnu/javax/rmi/CORBA/RmiUtilities.java (readValue): check if sender is
	null to avoid NPE.
	
2008-08-22  Mario Torre  <neugens@aicas.com>
 
	* gnu/CORBA/OrbFunctional.java (set_parameters): Fix
	NullPointerException checking when param is null. 

2008-08-23  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/regex/Matcher.java:
	(reset()): Reset append position so
	we don't try and append to the end of
	the old input.
	
2008-08-22  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	PR classpath/32028:
	* m4/acinclude.m4:
	Also allow versions of GJDoc from 0.8* on, as
	CVS is 0.8.0-pre.
	
2008-08-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	PR classpath/32028:
	* m4/acinclude.m4:
	(CLASSPATH_WITH_GJDOC): Ensure version 0.7.9 is
	being used.
	
2008-08-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* tools/Makefile.am:
	Add taglets subdirectory to list of excluded
	paths when GJDoc is not compiled.
	
2008-08-19  David P Grove  <groved@us.ibm.com>

	* scripts/check_jni_methods.sh.in:
	Fix build issue on AIX by splitting generation
	of method list.
	
2008-08-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* native/jni/gstreamer-peer/gst_native_pipeline.c:
	(get_free_space(int)): Use #else not #elif when
	there is no condition.

2008-08-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	PR classpath/31895:
	* java/text/DecimalFormat.java:
	(setCurrency(Currency)): Update prefixes and
	suffixes when currency changes.
	* java/text/DecimalFormatSymbols.java:
	(DecimalFormatSymbols(Locale)): Set locale earlier
	so it can be used by setCurrency(Currency).
	(setCurrency(Currency)): Set the symbol correctly using
	the locale of the instance.
	* java/util/Currency.java:
	Throw error instead of just printing a message.

2008-08-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/activation/ActivationDataFlavor.java:
	Suppress warnings from public API.
	(mimeType): Made final.
	(representationClass): Added generic type and
	made final.
	(normalizeMimeTypeParameter(String,String)):
	Use CPStringBuilder.
	* javax/activation/CommandInfo.java:
	(verb): Made final.
	(className): Made final.
	* javax/activation/DataHandler.java:
	(dataSource): Made final.
	* javax/activation/FileDataSource.java:
	(file): Made final.
	* javax/activation/MailcapCommandMap.java:
	Use generics on collections and CPStringBuilder
	instead of StringBuffer.
	* javax/activation/MimeType.java:
	(toString()): Use CPStringBuilder.
	(getBaseType()): Likewise.
	* javax/activation/MimeTypeParameterList.java:
	Use generics on collections and CPStringBuilder
	instead of StringBuffer.
	* javax/activation/MimeTypeParseException.java:
	(MimeTypeParseException(String,String)): Use
	CPStringBuilder.
	* javax/activation/MimetypesFileTypeMap.java:
	Use generics on collections and CPStringBuilder
	instead of StringBuffer.	
	* javax/activation/URLDataSource.java:
	(url): Made final.

2008-08-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/javax/activation/viewers/ImageViewer.java,
	* gnu/javax/activation/viewers/TextEditor.java,
	* gnu/javax/activation/viewers/TextViewer.java,
	* javax/activation/ActivationDataFlavor.java,
	* javax/activation/CommandInfo.java,
	* javax/activation/CommandMap.java,
	* javax/activation/CommandObject.java,
	* javax/activation/DataContentHandler.java,
	* javax/activation/DataContentHandlerFactory.java,
	* javax/activation/DataHandler.java,
	* javax/activation/DataHandlerDataSource.java,
	* javax/activation/DataSource.java,
	* javax/activation/DataSourceDataContentHandler.java,
	* javax/activation/FileDataSource.java,
	* javax/activation/FileTypeMap.java,
	* javax/activation/MailcapCommandMap.java,
	* javax/activation/MimeType.java,
	* javax/activation/MimeTypeParameterList.java,
	* javax/activation/MimeTypeParseException.java,
	* javax/activation/MimetypesFileTypeMap.java,
	* javax/activation/ObjectDataContentHandler.java,
	* javax/activation/URLDataSource.java,
	* javax/activation/UnsupportedDataTypeException.java,
	* javax/activation/package.html,
	* resource/META-INF/mailcap.default,
	* resource/META-INF/mimetypes.default:
	Import GNU JAF CVS as of 17/08/2008.

2006-04-25  Archit Shah  <ashah@redhat.com>

	* javax/activation/MimeTypeParameterList.java:
	Insert ';' separator before parameter list.

2005-06-29  Xavier Poinsard  <xpoinsard@openpricer.com>

	* javax/activation/ObjectDataContentHandler.java:
	Fixed typo.

2005-05-28  Chris Burdess  <dog@bluezoo.org>

	* javax/activation/CommandMap.java, 
	* javax/activation/MailcapCommandMap.java:
	Updated to JAF 1.1.

2004-06-09  Chris Burdess  <dog@bluezoo.org>

	* javax/activation/MailcapCommandMap.java:
	Fixed bug whereby x-java prefix was not
	attempted.

2008-08-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* AUTHORS: Added Laszlo.

2008-04-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	PR classpath/30436:
	* java/util/Scanner.java:
	Fix package to be java.util and correct
	indentation.

2007-07-25  Laszlo Andras Hernadi  <e0327023@student.tuwien.ac.at>

	PR classpath/30436:
	* java/util/Scanner.java:
	Initial implementation.

2008-08-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/regex/Matcher.java:
	(toMatchResult()): Implemented.
	
2008-08-13  Joshua Sumali  <jsumali@redhat.com>

	* doc/Makefile.am (gjdoc.pod): Generate gjdoc pod from cp-tools.texinfo
	instead of invoke.texi. Remove invoke.texi from EXTRA_DIST.
	* doc/invoke.texi: Removed and merged into ...
	* doc/cp-tools.texinfo: Here

2008-08-12  Robert Schuster  <robertschuster@fsfe.org>

	* native/jni/java-net/local.c
	(local_bind): Removed fprintf call, fixed access outside
	of array bounds.

From-SVN: r141271
This commit is contained in:
Matthias Klose
2008-10-21 17:55:01 +00:00
parent d9cc481a35
commit cd6d4007aa
2325 changed files with 121399 additions and 23635 deletions
@@ -38,303 +38,341 @@ exception statement from your version. */
package gnu.java.util.regex;
import gnu.java.lang.CPStringBuilder;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
final class RETokenNamedProperty extends REToken {
final class RETokenNamedProperty extends REToken
{
String name;
boolean insens;
boolean negate;
Handler handler;
// Grouped properties
static final byte[] LETTER = new byte[]
{ Character.LOWERCASE_LETTER,
static final byte[] LETTER = new byte[]{ Character.LOWERCASE_LETTER,
Character.UPPERCASE_LETTER,
Character.TITLECASE_LETTER,
Character.MODIFIER_LETTER,
Character.OTHER_LETTER };
static final byte[] MARK = new byte[]
{ Character.NON_SPACING_MARK,
Character.OTHER_LETTER
};
static final byte[] MARK = new byte[]{ Character.NON_SPACING_MARK,
Character.COMBINING_SPACING_MARK,
Character.ENCLOSING_MARK };
static final byte[] SEPARATOR = new byte[]
{ Character.SPACE_SEPARATOR,
Character.ENCLOSING_MARK
};
static final byte[] SEPARATOR = new byte[]{ Character.SPACE_SEPARATOR,
Character.LINE_SEPARATOR,
Character.PARAGRAPH_SEPARATOR };
static final byte[] SYMBOL = new byte[]
{ Character.MATH_SYMBOL,
Character.PARAGRAPH_SEPARATOR
};
static final byte[] SYMBOL = new byte[]{ Character.MATH_SYMBOL,
Character.CURRENCY_SYMBOL,
Character.MODIFIER_SYMBOL,
Character.OTHER_SYMBOL };
static final byte[] NUMBER = new byte[]
{ Character.DECIMAL_DIGIT_NUMBER,
Character.OTHER_SYMBOL
};
static final byte[] NUMBER = new byte[]{ Character.DECIMAL_DIGIT_NUMBER,
Character.LETTER_NUMBER,
Character.OTHER_NUMBER };
static final byte[] PUNCTUATION = new byte[]
{ Character.DASH_PUNCTUATION,
Character.OTHER_NUMBER
};
static final byte[] PUNCTUATION = new byte[]{ Character.DASH_PUNCTUATION,
Character.START_PUNCTUATION,
Character.END_PUNCTUATION,
Character.CONNECTOR_PUNCTUATION,
Character.OTHER_PUNCTUATION,
Character.INITIAL_QUOTE_PUNCTUATION,
Character.FINAL_QUOTE_PUNCTUATION};
static final byte[] OTHER = new byte[]
{ Character.CONTROL,
Character.FINAL_QUOTE_PUNCTUATION
};
static final byte[] OTHER = new byte[]{ Character.CONTROL,
Character.FORMAT,
Character.PRIVATE_USE,
Character.SURROGATE,
Character.UNASSIGNED };
Character.UNASSIGNED
};
RETokenNamedProperty(int subIndex, String name, boolean insens, boolean negate) throws REException {
super(subIndex);
RETokenNamedProperty (int subIndex, String name, boolean insens,
boolean negate) throws REException
{
super (subIndex);
this.name = name;
this.insens = insens;
this.negate = negate;
handler = getHandler(name);
handler = getHandler (name);
}
int getMinimumLength() {
return 1;
}
int getMinimumLength ()
{
return 1;
}
int getMaximumLength() {
return 1;
}
int getMaximumLength ()
{
return 1;
}
REMatch matchThis(CharIndexed input, REMatch mymatch) {
char ch = input.charAt(mymatch.index);
boolean retval = matchOneChar(ch);
if (retval) {
REMatch matchThis (CharIndexed input, REMatch mymatch)
{
char ch = input.charAt (mymatch.index);
boolean retval = matchOneChar (ch);
if (retval)
{
++mymatch.index;
return mymatch;
}
return null;
return null;
}
private boolean matchOneChar(char ch) {
private boolean matchOneChar (char ch)
{
if (ch == CharIndexed.OUT_OF_BOUNDS)
return false;
boolean retval = handler.includes(ch);
if (insens) {
retval = retval ||
handler.includes(toUpperCase(ch, unicodeAware)) ||
handler.includes(toLowerCase(ch, unicodeAware));
}
if (negate) retval = !retval;
boolean retval = handler.includes (ch);
if (insens)
{
retval = retval ||
handler.includes (toUpperCase (ch, unicodeAware)) ||
handler.includes (toLowerCase (ch, unicodeAware));
}
if (negate)
retval = !retval;
return retval;
}
boolean returnsFixedLengthMatches() { return true; }
boolean returnsFixedLengthMatches ()
{
return true;
}
int findFixedLengthMatches(CharIndexed input, REMatch mymatch, int max) {
int findFixedLengthMatches (CharIndexed input, REMatch mymatch, int max)
{
int index = mymatch.index;
int numRepeats = 0;
while (true) {
if (numRepeats >= max) break;
char ch = input.charAt(index++);
if (! matchOneChar(ch)) break;
while (true)
{
if (numRepeats >= max)
break;
char ch = input.charAt (index++);
if (!matchOneChar (ch))
break;
numRepeats++;
}
}
return numRepeats;
}
void dump(StringBuffer os) {
os.append("\\")
.append(negate ? "P" : "p")
.append("{" + name + "}");
void dump (CPStringBuilder os)
{
os.append ("\\").append (negate ? "P" : "p").append ("{" + name + "}");
}
private abstract static class Handler {
public abstract boolean includes(char c);
private abstract static class Handler
{
public abstract boolean includes (char c);
}
private Handler getHandler(String name) throws REException {
if (name.equals("Lower") ||
name.equals("Upper") ||
// name.equals("ASCII") ||
name.equals("Alpha") ||
name.equals("Digit") ||
name.equals("Alnum") ||
name.equals("Punct") ||
name.equals("Graph") ||
name.equals("Print") ||
name.equals("Blank") ||
name.equals("Cntrl") ||
name.equals("XDigit") ||
name.equals("Space") ) {
return new POSIXHandler(name);
private Handler getHandler (String name) throws REException
{
if (name.equals ("Lower") || name.equals ("Upper") ||
// name.equals("ASCII") ||
name.equals ("Alpha") ||
name.equals ("Digit") ||
name.equals ("Alnum") ||
name.equals ("Punct") ||
name.equals ("Graph") ||
name.equals ("Print") ||
name.equals ("Blank") ||
name.equals ("Cntrl") ||
name.equals ("XDigit") || name.equals ("Space"))
{
return new POSIXHandler (name);
}
if (name.startsWith("In")) {
try {
name = name.substring(2);
Character.UnicodeBlock block = Character.UnicodeBlock.forName(name);
return new UnicodeBlockHandler(block);
}
catch (IllegalArgumentException e) {
throw new REException("Invalid Unicode block name: " + name, REException.REG_ESCAPE, 0);
}
}
if (name.startsWith("Is")) {
name = name.substring(2);
}
// "grouped properties"
if (name.equals("L"))
return new UnicodeCategoriesHandler(LETTER);
if (name.equals("M"))
return new UnicodeCategoriesHandler(MARK);
if (name.equals("Z"))
return new UnicodeCategoriesHandler(SEPARATOR);
if (name.equals("S"))
return new UnicodeCategoriesHandler(SYMBOL);
if (name.equals("N"))
return new UnicodeCategoriesHandler(NUMBER);
if (name.equals("P"))
return new UnicodeCategoriesHandler(PUNCTUATION);
if (name.equals("C"))
return new UnicodeCategoriesHandler(OTHER);
if (name.equals("Mc"))
return new UnicodeCategoryHandler(Character.COMBINING_SPACING_MARK);
if (name.equals("Pc"))
return new UnicodeCategoryHandler(Character.CONNECTOR_PUNCTUATION);
if (name.equals("Cc"))
return new UnicodeCategoryHandler(Character.CONTROL);
if (name.equals("Sc"))
return new UnicodeCategoryHandler(Character.CURRENCY_SYMBOL);
if (name.equals("Pd"))
return new UnicodeCategoryHandler(Character.DASH_PUNCTUATION);
if (name.equals("Nd"))
return new UnicodeCategoryHandler(Character.DECIMAL_DIGIT_NUMBER);
if (name.equals("Me"))
return new UnicodeCategoryHandler(Character.ENCLOSING_MARK);
if (name.equals("Pe"))
return new UnicodeCategoryHandler(Character.END_PUNCTUATION);
if (name.equals("Pf"))
return new UnicodeCategoryHandler(Character.FINAL_QUOTE_PUNCTUATION);
if (name.equals("Cf"))
return new UnicodeCategoryHandler(Character.FORMAT);
if (name.equals("Pi"))
return new UnicodeCategoryHandler(Character.INITIAL_QUOTE_PUNCTUATION);
if (name.equals("Nl"))
return new UnicodeCategoryHandler(Character.LETTER_NUMBER);
if (name.equals("Zl"))
return new UnicodeCategoryHandler(Character.LINE_SEPARATOR);
if (name.equals("Ll"))
return new UnicodeCategoryHandler(Character.LOWERCASE_LETTER);
if (name.equals("Sm"))
return new UnicodeCategoryHandler(Character.MATH_SYMBOL);
if (name.equals("Lm"))
return new UnicodeCategoryHandler(Character.MODIFIER_LETTER);
if (name.equals("Sk"))
return new UnicodeCategoryHandler(Character.MODIFIER_SYMBOL);
if (name.equals("Mn"))
return new UnicodeCategoryHandler(Character.NON_SPACING_MARK);
if (name.equals("Lo"))
return new UnicodeCategoryHandler(Character.OTHER_LETTER);
if (name.equals("No"))
return new UnicodeCategoryHandler(Character.OTHER_NUMBER);
if (name.equals("Po"))
return new UnicodeCategoryHandler(Character.OTHER_PUNCTUATION);
if (name.equals("So"))
return new UnicodeCategoryHandler(Character.OTHER_SYMBOL);
if (name.equals("Zp"))
return new UnicodeCategoryHandler(Character.PARAGRAPH_SEPARATOR);
if (name.equals("Co"))
return new UnicodeCategoryHandler(Character.PRIVATE_USE);
if (name.equals("Zs"))
return new UnicodeCategoryHandler(Character.SPACE_SEPARATOR);
if (name.equals("Ps"))
return new UnicodeCategoryHandler(Character.START_PUNCTUATION);
if (name.equals("Cs"))
return new UnicodeCategoryHandler(Character.SURROGATE);
if (name.equals("Lt"))
return new UnicodeCategoryHandler(Character.TITLECASE_LETTER);
if (name.equals("Cn"))
return new UnicodeCategoryHandler(Character.UNASSIGNED);
if (name.equals("Lu"))
return new UnicodeCategoryHandler(Character.UPPERCASE_LETTER);
if (name.equals("all"))
return new Handler()
{
public boolean includes(char c)
{
return true;
}
};
if (name.startsWith("java"))
if (name.startsWith ("In"))
{
try
{
try
{
Method m = Character.class.getMethod("is" + name.substring(4),
Character.TYPE);
return new JavaCategoryHandler(m);
}
catch (NoSuchMethodException e)
{
throw new REException("Unsupported Java handler: " + name, e,
REException.REG_ESCAPE, 0);
}
name = name.substring (2);
Character.UnicodeBlock block =
Character.UnicodeBlock.forName (name);
return new UnicodeBlockHandler (block);
}
throw new REException("unsupported name " + name, REException.REG_ESCAPE, 0);
catch (IllegalArgumentException e)
{
throw new REException ("Invalid Unicode block name: " + name,
REException.REG_ESCAPE, 0);
}
}
if (name.startsWith ("Is"))
{
name = name.substring (2);
}
// "grouped properties"
if (name.equals ("L"))
return new UnicodeCategoriesHandler (LETTER);
if (name.equals ("M"))
return new UnicodeCategoriesHandler (MARK);
if (name.equals ("Z"))
return new UnicodeCategoriesHandler (SEPARATOR);
if (name.equals ("S"))
return new UnicodeCategoriesHandler (SYMBOL);
if (name.equals ("N"))
return new UnicodeCategoriesHandler (NUMBER);
if (name.equals ("P"))
return new UnicodeCategoriesHandler (PUNCTUATION);
if (name.equals ("C"))
return new UnicodeCategoriesHandler (OTHER);
if (name.equals ("Mc"))
return new UnicodeCategoryHandler (Character.COMBINING_SPACING_MARK);
if (name.equals ("Pc"))
return new UnicodeCategoryHandler (Character.CONNECTOR_PUNCTUATION);
if (name.equals ("Cc"))
return new UnicodeCategoryHandler (Character.CONTROL);
if (name.equals ("Sc"))
return new UnicodeCategoryHandler (Character.CURRENCY_SYMBOL);
if (name.equals ("Pd"))
return new UnicodeCategoryHandler (Character.DASH_PUNCTUATION);
if (name.equals ("Nd"))
return new UnicodeCategoryHandler (Character.DECIMAL_DIGIT_NUMBER);
if (name.equals ("Me"))
return new UnicodeCategoryHandler (Character.ENCLOSING_MARK);
if (name.equals ("Pe"))
return new UnicodeCategoryHandler (Character.END_PUNCTUATION);
if (name.equals ("Pf"))
return new UnicodeCategoryHandler (Character.FINAL_QUOTE_PUNCTUATION);
if (name.equals ("Cf"))
return new UnicodeCategoryHandler (Character.FORMAT);
if (name.equals ("Pi"))
return new UnicodeCategoryHandler (Character.INITIAL_QUOTE_PUNCTUATION);
if (name.equals ("Nl"))
return new UnicodeCategoryHandler (Character.LETTER_NUMBER);
if (name.equals ("Zl"))
return new UnicodeCategoryHandler (Character.LINE_SEPARATOR);
if (name.equals ("Ll"))
return new UnicodeCategoryHandler (Character.LOWERCASE_LETTER);
if (name.equals ("Sm"))
return new UnicodeCategoryHandler (Character.MATH_SYMBOL);
if (name.equals ("Lm"))
return new UnicodeCategoryHandler (Character.MODIFIER_LETTER);
if (name.equals ("Sk"))
return new UnicodeCategoryHandler (Character.MODIFIER_SYMBOL);
if (name.equals ("Mn"))
return new UnicodeCategoryHandler (Character.NON_SPACING_MARK);
if (name.equals ("Lo"))
return new UnicodeCategoryHandler (Character.OTHER_LETTER);
if (name.equals ("No"))
return new UnicodeCategoryHandler (Character.OTHER_NUMBER);
if (name.equals ("Po"))
return new UnicodeCategoryHandler (Character.OTHER_PUNCTUATION);
if (name.equals ("So"))
return new UnicodeCategoryHandler (Character.OTHER_SYMBOL);
if (name.equals ("Zp"))
return new UnicodeCategoryHandler (Character.PARAGRAPH_SEPARATOR);
if (name.equals ("Co"))
return new UnicodeCategoryHandler (Character.PRIVATE_USE);
if (name.equals ("Zs"))
return new UnicodeCategoryHandler (Character.SPACE_SEPARATOR);
if (name.equals ("Ps"))
return new UnicodeCategoryHandler (Character.START_PUNCTUATION);
if (name.equals ("Cs"))
return new UnicodeCategoryHandler (Character.SURROGATE);
if (name.equals ("Lt"))
return new UnicodeCategoryHandler (Character.TITLECASE_LETTER);
if (name.equals ("Cn"))
return new UnicodeCategoryHandler (Character.UNASSIGNED);
if (name.equals ("Lu"))
return new UnicodeCategoryHandler (Character.UPPERCASE_LETTER);
if (name.equals ("all"))
return new Handler ()
{
public boolean includes (char c)
{
return true;
}
};
if (name.startsWith ("java"))
{
try
{
Method m = Character.class.getMethod ("is" + name.substring (4),
Character.TYPE);
return new JavaCategoryHandler (m);
}
catch (NoSuchMethodException e)
{
throw new REException ("Unsupported Java handler: " + name, e,
REException.REG_ESCAPE, 0);
}
}
throw new REException ("unsupported name " + name, REException.REG_ESCAPE,
0);
}
private static class POSIXHandler extends Handler {
private RETokenPOSIX retoken;
public POSIXHandler(String name) {
int posixId = RETokenPOSIX.intValue(name.toLowerCase());
if (posixId != -1)
retoken = new RETokenPOSIX(0,posixId,false,false);
else
throw new RuntimeException("Unknown posix ID: " + name);
}
public boolean includes(char c) {
return retoken.matchOneChar(c);
}
private static class POSIXHandler extends Handler
{
private RETokenPOSIX retoken;
public POSIXHandler (String name)
{
int posixId = RETokenPOSIX.intValue (name.toLowerCase ());
if (posixId != -1)
retoken = new RETokenPOSIX (0, posixId, false, false);
else
throw new RuntimeException ("Unknown posix ID: " + name);
}
public boolean includes (char c)
{
return retoken.matchOneChar (c);
}
}
private static class UnicodeCategoryHandler extends Handler {
public UnicodeCategoryHandler(byte category) {
this.category = (int)category;
}
private int category;
public boolean includes(char c) {
return Character.getType(c) == category;
}
private static class UnicodeCategoryHandler extends Handler
{
public UnicodeCategoryHandler (byte category)
{
this.category = (int) category;
}
private int category;
public boolean includes (char c)
{
return Character.getType (c) == category;
}
}
private static class UnicodeCategoriesHandler extends Handler {
public UnicodeCategoriesHandler(byte[] categories) {
this.categories = categories;
}
private byte[] categories;
public boolean includes(char c) {
int category = Character.getType(c);
for (int i = 0; i < categories.length; i++)
if (category == categories[i])
return true;
return false;
}
private static class UnicodeCategoriesHandler extends Handler
{
public UnicodeCategoriesHandler (byte[]categories)
{
this.categories = categories;
}
private byte[] categories;
public boolean includes (char c)
{
int category = Character.getType (c);
for (int i = 0; i < categories.length; i++)
if (category == categories[i])
return true;
return false;
}
}
private static class UnicodeBlockHandler extends Handler {
public UnicodeBlockHandler(Character.UnicodeBlock block) {
this.block = block;
}
private Character.UnicodeBlock block;
public boolean includes(char c) {
Character.UnicodeBlock cblock = Character.UnicodeBlock.of(c);
return (cblock != null && cblock.equals(block));
}
private static class UnicodeBlockHandler extends Handler
{
public UnicodeBlockHandler (Character.UnicodeBlock block)
{
this.block = block;
}
private Character.UnicodeBlock block;
public boolean includes (char c)
{
Character.UnicodeBlock cblock = Character.UnicodeBlock.of (c);
return (cblock != null && cblock.equals (block));
}
}
/**
@@ -343,30 +381,29 @@ final class RETokenNamedProperty extends REToken {
*
* @author Andrew John Hughes (gnu_andrew@member.fsf.org)
*/
private static class JavaCategoryHandler
extends Handler
private static class JavaCategoryHandler extends Handler
{
private Method method;
public JavaCategoryHandler(Method m)
public JavaCategoryHandler (Method m)
{
this.method = m;
}
public boolean includes(char c)
public boolean includes (char c)
{
try
{
return (Boolean) method.invoke(null, c);
}
{
return (Boolean) method.invoke (null, c);
}
catch (IllegalAccessException e)
{
throw new InternalError("Unable to access method " + method);
}
{
throw new InternalError ("Unable to access method " + method);
}
catch (InvocationTargetException e)
{
throw new InternalError("Error invoking " + method);
}
{
throw new InternalError ("Error invoking " + method);
}
}
}