diff options
author | Matthias Klose <doko@gcc.gnu.org> | 2012-12-19 17:03:15 +0000 |
---|---|---|
committer | Matthias Klose <doko@gcc.gnu.org> | 2012-12-19 17:03:15 +0000 |
commit | a1906e8bbfa426ed1adfe751608bc74f1d4d2ab7 (patch) | |
tree | 9b478aacc6b13f1beadacec2ade096dcb732af53 /libjava | |
parent | baeb2e16475b278e83fe73751d4f0f572805b16e (diff) | |
download | gcc-a1906e8bbfa426ed1adfe751608bc74f1d4d2ab7.tar.gz |
Import GNU Classpath (20121202).
2012-12-19 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (20121202).
* Regenerate class and header files.
* Regenerate auto* files.
* sources.am, gcj/javaprims.h: Regenerate.
* gnu/java/nio/FileLockImpl.java (close): New override.
From-SVN: r194618
Diffstat (limited to 'libjava')
454 files changed, 5225 insertions, 2926 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index fa62d1ec50f..ff22755dbe1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2012-12-19 Matthias Klose <doko@ubuntu.com> + + Import GNU Classpath (20121202). + + * Regenerate class and header files. + * Regenerate auto* files. + * sources.am, gcj/javaprims.h: Regenerate. + * gnu/java/nio/FileLockImpl.java (close): New override. + 2012-12-12 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 8e867541555..37d11a3c942 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -4,21 +4,981 @@ * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't scan inner classes if our item is a file. -2012-09-14 David Edelsohn <dje.gcc@gmail.com> +2012-11-02 Andrew John Hughes <gnu_andrew@member.fsf.org> - * configure: Regenerated. + PR classpath/55182 + * configure.ac: + Lower required version to support autoconf + on RHEL6. Make disabling Werror the default. + If a Qt4-specific moc is detected, use it + rather than the default. + * doc/Makefile.am: + Generate texi2dvi output in the build directory + and explicitly specify POSIX locale to work around + Debian bug 586134. + (clean-local): Remove output from texi2dvi. + +2012-10-30 Andrew John Hughes <gnu_andrew@member.fsf.org> + + PR classpath/55140 + * NEWS: List fix. + * java/lang/String.java: + (codePointBefore(int)): Fix index check to match spec. + +2012-10-16 Ivan Maidanski <ivmai@mail.ru> + + * java/util/Collections.java: + (emptySet()): Don't create new instance, instead using + the corresponding immutable container instance. Remove FIXME + and suppress resulting unchecked warning. + (EmptySet.iterator()): Suppress warning due to cast + for immutable container instance. + (EmptySet.equals(Object)): Add type parameters. + (emptyList()): Don't create new instance, instead using + the corresponding immutable container instance. Remove FIXME + and suppress resulting unchecked warning. + (EmptyList.equals(Object)): Add type parameters. + (emptyMap()): Don't create new instance, instead using + the corresponding immutable container instance. Remove FIXME + and suppress resulting unchecked warning. + (EmptyMap.entrySet()): Cast to parameterised type and + suppress warning. + (EmptyMap.equals(Object)): Add type parameters. + (EmptyMap.keySet()): Cast to parameterised type and + suppress warning. + (EmptyMap.values()): Likewise. + (SingletonList.subList(int, int)): Use emptyList() instead of + EMPTY_LIST to eliminate unchecked warning. + (SynchronizedCollection.toArray(T[])): Rename T type to E to + suppress compiler warning about type hiding. + +2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org> + + PR classpath/41689 + * javax/security/sasl/Sasl.java: + (CREDENTIALS): Add missing field. + * NEWS: Updated. + +2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * NEWS: Updated with latest bug fixes. + * THANKYOU: Add bug authors. + +2010-05-20 Paul Viney <paul@diasoft.nl> + + PR classpath/44208 + * java/io/ObjectInputStream.java, + (parseContent(byte,boolean)): Ensure a handle + for the enum is registered before one for its + String constant. + +2009-12-30 Paul Fernhout <pdfernhout@kurtz-fernhout.com> + + PR classpath/42551 + * javax/sound/midi/MetaMessage.java: + (setMessage(int,byte[],int)): Don't overwrite + length variable when computing the length representation. + +2012-10-17 Jeremy Singer <Jeremy.Singer@glasgow.ac.uk> + + PR classpath/54960 + * gnu/xml/transform/SAXSerializer.java: + (getValue(String)): Avoid NullPointerException. + +2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c: + (Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1(JNIEnv*, + jclass, jlong)): Use jack_client_open instead of + deprecated jack_client_new. + +2012-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * configure.ac: Set to 0.99.1pre, as + 0.99.1 will now be next release. + * NEWS: Updated with last bug fix + and 0.99.1 + +2012-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org> + + PR classpath/54931 + * m4/acinclude.m4: + (CLASSPATH_WITH_GJDOC): Allow GJDoc versions + included with GNU Classpath to be used to + build (0.98 on). + +2012-03-15 Pekka Enberg <penberg@kernel.org> + + * java/util/Formatter.java: + (icharacterFormat(Object,int,int,int,char): + Fix NullPointerException for null characters. + (basicIntegralConversion(Object, int, int, int, int, char): + Fix NullPointerException for null integers. + (format(Locale, String, Object...)): + Fix NullPointerException for null object. + +2012-03-15 Pekka Enberg <penberg@kernel.org> + + * java/lang/String.java: + (codePointAt(int))): Fix exception type. + (codePointBefore(int)): Fix exception type. + +2011-07-20 Ivan Maidanski <ivmai@mail.ru> + + * native/jni/java-util/java_util_VMTimeZone.c: + Include jcl.h file. + (Java_java_util_VMTimeZone_getSystemTimeZoneId(JNIEnv*,jclass)): + Throw OutOfMemoryException in case of malloc() failure. + +2012-06-10 Ivan Maidanski <ivmai@mail.ru> + + * compat/.gitignore, + * compat/java.net/.gitignore, + * doc/.gitignore, + * doc/api/.gitignore, + * doc/www.gnu.org/.gitignore, + * doc/www.gnu.org/announce/.gitignore, + * doc/www.gnu.org/cp-tools/.gitignore, + * doc/www.gnu.org/docs/.gitignore, + * doc/www.gnu.org/downloads/.gitignore, + * doc/www.gnu.org/events/.gitignore, + * doc/www.gnu.org/faq/.gitignore, + * examples/.gitignore, + * external/.gitignore, + * external/jsr166/.gitignore, + * external/relaxngDatatype/.gitignore, + * external/sax/.gitignore, + * external/w3c_dom/.gitignore, + * gnu/classpath/.gitignore, + * gnu/java/locale/.gitignore, + * gnu/java/security/.gitignore, + * gnu/test/.gitignore, + * include/.gitignore, + * java/util/.gitignore, + * lib/.gitignore, + * native/.gitignore, + * native/fdlibm/.gitignore, + * native/jawt/.gitignore, + * native/jni/.gitignore, + * native/jni/classpath/.gitignore, + * native/jni/gconf-peer/.gitignore, + * native/jni/gstreamer-peer/.gitignore, + * native/jni/gtk-peer/.gitignore, + * native/jni/java-io/.gitignore, + * native/jni/java-lang/.gitignore, + * native/jni/java-math/.gitignore, + * native/jni/java-net/.gitignore, + * native/jni/java-nio/.gitignore, + * native/jni/java-util/.gitignore, + * native/jni/midi-alsa/.gitignore, + * native/jni/midi-dssi/.gitignore, + * native/jni/native-lib/.gitignore, + * native/jni/qt-peer/.gitignore, + * native/jni/xmlj/.gitignore, + * native/plugin/.gitignore, + * native/testsuite/.gitignore, + * native/vmi/.gitignore, + * resource/.gitignore, + * resource/META-INF/services/.gitignore, + * scripts/.gitignore, + * test/.gitignore, + * test/gnu.java.lang.reflect/.gitignore, + * test/java.io/.gitignore, + * test/java.lang.reflect/.gitignore, + * test/java.net/.gitignore, + * test/java.util/.gitignore, + * tools/.gitignore, + * tools/gnu/classpath/tools/doclets/.gitignore, + * tools/gnu/classpath/tools/doclets/debugdoclet/.gitignore, + * tools/gnu/classpath/tools/doclets/htmldoclet/.gitignore, + * tools/gnu/classpath/tools/doclets/xmldoclet/.gitignore, + * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/.gitignore, + * tools/gnu/classpath/tools/gjdoc/.gitignore, + * tools/gnu/classpath/tools/gjdoc/expr/.gitignore, + * tools/gnu/classpath/tools/java2xhtml/.gitignore, + * tools/gnu/classpath/tools/taglets/.gitignore, + * vm/.gitignore, + * vm/reference/.gitignore: Renamed from .cvsignore. + +2012-10-10 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * java/awt/geom/Area.java: + (solids): Add type parameter. + (holes): Likewise. + (ccIntersections): Likewise and rename to meet + standards. + (Area()): Add type parameters. + (Area(Shape)): Likewise and remove redundant casts. + (add(Area)): Likewise and remove unused nNodes variable. + (subtract(Area)): Likewise. + (intersect(Area)): Likewise. + (exclusiveOr(Area)): Likewise. + (reset()): Add type parameters. + (isEmpty()): Remove redundant casts. + (isPolygonal()): Likewise. + (isRectangular()): Likewise. + (getBounds2D()): Likewise. + (clone()): Likewise. + (equals(Area)): Add type parameters. + (transform(AffineTransform)): Remove redundant casts. + (contains(double,double)): Likewise. + (contains(double,double,double,double)): Likewise. + (intersects(double,double,double,double)): Likewise. + (AreaIterator.segments): Add type parameter. + (AreaIterator(AffineTransform)): Add type parameters. + Remove redundant casts. + (currentSegment(double[])): Remove redundant casts. + (currentSegment(float[])): Likewise. + (weilerAtherton(Vector)): Add type parameters and remove + redundant casts. + (recursiveSubdivide(CubicCurve2D,CubicCurve2D,int,int,double, + double,double,double)): Fix use of cc_intersections/ccIntersections. + (cubicCubicIntersect(CubicSegment,CubicSegment)): Likewise. + (lineQuadIntersect(LineSegment,QuadSegment)): Fix Javadoc typo. + (makeSegment(Shape)): Add type parameters. + (createNodes(Segment,Segment)): Remove redundant bracketing. + (deleteRedundantPaths(Vector)): Likewise. Remove redundant + casts. Add type parameters. + (setDirection(Vector,boolean)): Add type parameters and remove + redundant casts. + (cloneSegmentList()): Add type parameter. Remove redundant + cast. + (createNodes(Segment,Intersection[])): Add type parameter. + Remove redundant cast. + +2012-10-09 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java: + (DSSIInfo.copyright): Added field. + (DSSIInfo(String,String,String,String,String,String,long)): + Extended constructor to store copyright. + (examineLibrary(String)): Add type parameter. + Fix call to new DSSIInfo constructor. + (static): Add type parameters. + * gnu/javax/sound/midi/dssi/DSSISynthesizer.java: + (instruments): Add type parameter. + (resources): Likewise. + (getResources()): Remove redundant cast. + (getInstruments()): Likewise. + (getInstrument(Patch)): Add type parameter and remove + redundant cast. + (soundbanks): Add type parameter. + (getAvailableInstruments()): Add type parameters and + remove redundant casts. + * gnu/javax/sound/midi/file/MidiFileReader.java: + (getSequence(InputStream)): Don't store length as not used. + * gnu/javax/sound/midi/file/MidiFileWriter.java: + (computeTrackLength(Track,MidiDataOutputStream)): Drop unused + count variable. + * gnu/javax/sound/sampled/WAV/WAVReader.java: + (getAudioFileFormat(InputStream)): Drop unused blockAlign variable. + * gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java: + (getLine(Line.Info)): Add type parameter to Class. + * javax/sound/midi/MidiSystem.java: + (getMidiDeviceInfo()): Add type parameters. Remove unnecessary cast. + (getMidiDevice(MidiDevice.Info)): Add type parameter. + (getSoundbank(InputStream)): Add type parameters and remove + unnecessary casts. + (getSoundbank(URL)): Likewise. + (getSoundbank(File)): Likewise. + (getMidiFileFormat(InputStream)): Likewise. + (getMidiFileFormat(URL)): Likewise. + (getMidiFileFormat(File)): Likewise. + (getSequence(InputStream)): Likewise. + (getSequence(URL)): Likewise. + (getSequence(File)): Likewise. + (getMidiFileTypes()): Likewise. + (isFileTypeSupported(int)): Likewise. + (getMidiFileTypes(Sequence)): Likewise. + (isFileTypeSupported(int,Sequence)): Likewise. + (write(Sequence,int,OutputStream)): Likewise. + (write(Sequence,int,File)): Likewise. + * javax/sound/midi/SoundbankResource.java: + (dataClass): Add type parameter. + * javax/sound/midi/Track.java: + (events): Add type parameter. + (eventSet): Likewise. + (add(MidiEvent)): Remove redundant cast. + (get(int)): Likewise. + (ticks()): Likewise. + * javax/sound/sampled/AudioSystem.java: + (getAudioFileFormat(File)): Add type parameters and + remove unnecessary casts. + (getAudioFileFormat(InputStream)): Likewise. + (getAudioFileFormat(URL)): Likewise. + (getAudioFileTypes()): Likewise. + (getAudioFileTypes(AudioInputStream)): Likewise. + (getAudioInputStream(AudioFormat.Encoding,AudioInputStream)): + Likewise. + (getAudioInputStream(AudioFormat,AudioInputStream)): Likewise. + (getAudioInputStream(File)): Likewise. + (getAudioInputStream(InputStream)): Likewise. + (getAudioInputStream(URL)): Likewise. + (getMixer(Mixer.Info)): Likewise. + (getMixerInfo()): Likewise. + (getTargetEncodings(AudioFormat.Encoding)): Likewise. + (getTargetEncodings(AudioFormat)): Likewise. + (getTargetFormats(AudioFormat.Encoding,AudioFormat)): Likewise. + (isConversionSupported(AudioFormat.Encoding,AudioFormat)): Likewise. + (isConversionSupported(AudioFormat,AudioFormat)): Likewise. + (write(AudioInputStream,AudioFileFormat.Type,File)): Likewise. + (write(AudioInputStream,AudioFileFormat.Type,OutputStream)): Likewise. + * javax/sound/sampled/Line.java: + (klass): Add type parameter. + * m4/ac_prog_javac.m4: + (ECJ_OPTS): Turn of unused private field warnings for now, + as some may be used from native code. + +2012-09-26 Andrew John Hughes <gnu_andrew@member.fsf.org> + + PR classpath/42134 + * java/text/Bidi.java: + (Bidi(AttributedCharacterIterator)): Remove shadow + variable text which hides the instance variable + of the same name. Remove unnecessary use of this. + * NEWS: Updated. + +2012-09-24 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * tools/com/sun/javadoc/Doc.java: + Add type parameter to Comparable. + * tools/gnu/classpath/tools/doclets/AbstractDoclet.java: + (tagletMap): Use type parameters. + (packageGroups): Likewise. + (tagletPath): Removed, unused. + (mentionedTags): Use type parameters. + (optionNoEmailWarn): Removed, unused. + (optionTagletPath): Likewise. + (DocletOptionTaglet): Likewise. + (DocletOptionGroup.set(String[])): Add type aprameters to + groupPackages. + (DocletOptionTagletPath): Removed, unused. + (commonOptions): Remove optionTagletPath. + (nameToOptionMap): Add type parameters. + (getOptionLength(String)): Remove unnecessary cast. + (getKnownDirectSubclasses(ClassDoc)): Add type parameters. + (IndexKey): Add type parameter to Comparable. + (IndexKey.compareTo(IndexKey)): Update to use specific type. + (categorizedIndex): Use type parameters. + (getCategorizedIndex()): Likewise. + (indexByName): Likewise. + (getIndexByName()): Likewise. + (printTaglets(Tag[],TagletContext,TagletPrinter,boolean)): Likewise. + (addUsedBy(Map,ClassDoc,UsageType,Doc,PackageDoc)): Likewise. + (collectUsage()): Likewise. + (usedClassToPackagesMap): Likewise. + (getUsageOfClass(ClassDoc)): Likewise. + (UsageType): Add type parameter to Comparable. + (UsageType.compareTo(UsageType)): Update to use specific type. + (getPackageGroups()): Use type parameters. + * tools/gnu/classpath/tools/doclets/PackageMatcher.java: + (patterns): Use type parameters. + (filter(Packagedoc[])): Likewise. + (match(PackageDoc)): Likewise. + * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java: + (externalDocSets): Use type parameters. + (packageNameToDocSet)): Likewise. + (printPackagePage(File,String,PackageDoc,PackageDoc,PackageDoc)): Likewise. + (TreeNode): Add type parameter to Comparable. + (TreeNode.children): Use type parameters. + (TreeNode.compareTo(TreeNode)): Update to use specific type. + (addClassTreeNode(Map,ClassDoc)): Use type parameters. + (addInterfacetreeNode(Map,ClassDoc)): Likewise. + (printClassTree(HtmlPage,ClassDoc[])): Likewise. + (printInterfaceTree(HtmlPage,ClassDoc[])): Likewise. + (printFullTreePage()): Likewise. + (printIndexEntry(HtmlPage,Doc)): Likewise. + (printPackagesMenuPage()): Likewise. + (printClassMenuSection(HtmlPage,Collection,String)): Likewise. + (printClassMenuList(HtmlPage,ClassDoc[],boolean)): Likewise. + (printSplitIndex()): Likewise. + (printIndexPage(int,int,Character,List)): Likewise. + (printSerializationPage()): Likewise. + (printDeprecationPage()): Likewise. + (getMemberDocURL(HtmlPage,ProgramElementDoc)): Likewise. + (createTypeHref(HtmlPage,Type,boolean)): Likewise. + (getPackageURL(PackageDoc)): Remove redundant cast. + (getClassURL(ClassDoc)): Likewise. + * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java: + (primitiveNames): Add type parameters. + (findClassCache): Likewise. + (findClass(String,String): Likewise. + (createInstance(ClassDoc,PackageDoc,ClassDoc[],PackageDoc[], + char[],int,int,List)): Likewise. + (resolve()): Likewise. + (typeMap): Likewise. + (typeForString(String)): Likewise.. + (equals(Object)): Likewise. + (maybeSerMethodList): Likewise. + (setMaybeSerMethodList(List)): Likewise. + (findFieldValue(String,ClassDoc,String,Set)): Likewise. + (getValue(String,Set)): Likewise. + (compareTo(Doc)): Use specific type. + (importStatementList): Use type parameters. + (setImportStatementList(List)): Likewise. + * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java: + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java: + Expand imports. + (findClass(String)): Don't use full class name for String. + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/DocImpl.java: + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java: + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java: + (createFromSource(ClassDoc,PackageDoc,char[],int,int)): + Use type parameters. Remove unused lastFieldDefStart + variable. + (constantValue(Set)): Use type parameters. + * tools/gnu/classpath/tools/gjdoc/Main.java: + (option_overview): Removed unused field. + (option_classpath): Likewise. + (option_sourcepath): Add type parameters. + (option_extdirs): Removed unused field. + (option_verbose): Likewise. + (option_java_flags): Likewise. + (option_subpackages): Add type parameters. + (option_exclude): Likewise. + (startDoclet(List)): Likewise. + (addFoundPackages(String,Set)): Likewise. + (findPackages(String,File,Set)): Likewise. + (start(String[])): Likewise. + (addJavaLangClasses()): Commented out, apparently unused. + (options): Add type parameters. + (initOptions()): Likewise. Remove redundant variable + setting. + * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java: + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java: + (allClassesSet): Use type parameters. + (ordinaryClassesList): Likewise. + (exceptionsList): Likewise. + (interfacesList): Likewise. + (errorsList): Likewise. + (resolve()): Likewise. + (toClassDocArray(Collection)): Likewise. + (compareTo(Doc)): Use specific type. + * tools/gnu/classpath/tools/gjdoc/Parser.java: + Expand import statements. + (process(Parser,char[],int,int)): Add type parameters. + (processedFiles): Add type parameters. + (processSourceFile(File,boolean,String,String)): Add type + parameters. + (classOpened(char[],int,int)): Likewise. + (toArray(List,T[])): Likewise. + (classClosed()): Likewise. + (Context.fieldList): Likewise. + (Context.filteredFieldList): Likewise. + (Context.sfieldList): Likewise. + (Context.methodList): Likewise. + (Context.filteredMethodList): Likewise. + (Context.maybeSerMethodList): Likewise. + (Context.constructorList): Likewise. + (Context.filteredConstructorList): Likewise. + (Context.innerClassesList): Likewise. + (Context.filteredInnerClassesList): Likewise. + * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java: + (findSourceFiles(String)): Add type parameters. + * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java: + (evaluate(String,Set,EvaluatorEnvironment)): Add type parameters. + * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java: + (getValue(String,Set)): Add type parameters. + * tools/gnu/classpath/tools/gjdoc/expr/Type.java: + (clazz): Add type parameters. + (Type(Class)): Likewise. + * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: + (keep): Remove unused field. + (errors): Add type parameter. + (compile): Remove unused field. + (classpath): Likewise. + (clazz): Add type parameter. + (mRemoteInterfaces): Likewise. + (run(String[])): Add type parameters. + (processClass(String)): Likewise. + (getException()): Remove unnecessary cast. + (typeArray(Class[])): Add type parameter. + (param(Method,int)): Add type parameter. Use Integer.valueOf. + (generateClassConstant(MethodVisitor,Class)): Add type parameters. + (generateClassArray(MethodVisitor,Class)): Likewise. + (generateStub()): Remove unused variables stubclassname, size + & endReturnTryCatch. Remove unnecessary casts and add type + parameters. + (generateSkel()): Remove unused variable skelclassname. + Use Long.valueOf. + (generateMethodSkel(MethodVisitor,Method,Variables)): + Add type parameters. + (typeArg(Class)): Add type parameter. + (readMethod(Class)): Likewise. + (writeMethod(Class)): Likewise. + (returnOpcode(Class)): Likewise. + (loadOpcode(Class)): Likewise. + (storeOpcode(Class)): Likewise. + (unboxMethod(Class)): Likewise. + (box(Class)): Likewise. + (size(Class)): Likewise. + (sortExceptions(Class[])): Add type parameters. + (setup(boolean,boolean,boolean,boolean,boolean,boolean, + boolean,boolean,boolean,boolean,String,String,String,String)): + Remove unused variables keep & classpath. + (findRemoteMethods()): Add type parameters. + (MethodRef.exceptions): Add type parameter. + (MethodRef.removeSubclasses(Class[])): Add type parameters. + (MethodRef.intersectExceptions(Method)): Likewise. + * tools/gnu/classpath/tools/rmic/Main.java: + (backends): Add type parameter. + (run(String[])): Remove redundant cast. + * tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java: + (getArgumentList()): Add type parameters. + (getArgumentNames()): Likewise. + (getThrows()): Likewise. + (getStaticMethodDeclarations()): Likewise. + * tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java: + Add type parameter to Comparable. + (implementedRemotes): Add type parameter. + (extraImports): Likewise. + (methods): Likewise. + (interfaces): Likewise. + (compile(Class)): Add type parameters. + (getId(Class)): Add type parameter. + (getIdList(Collection)): Add type parameters. + (generateStub()): Add type parameters. + (generateTie()): Likewise. + (compare(AbstractMethodGenerator,AbstractMethodGenerator)): Use + more specific types. + (getImportStatements()): Add type parameters. + * tools/gnu/classpath/tools/rmic/Variables.java: + (free): Add type parameter. + (names): Add type parameters. + (wides): Add type parameter. + (declared): Likewise. + (allocateNow(Object,int)): Use Integer.valueOf. + (allocate(Object,int)): Add type parameters. + (deallocate(Object)): Remove redundant cast. + Use Integer.valueOf. + (get(Object)): Remove redundant cast. 2012-08-09 Dodji Seketeli <dodji@redhat.com> Use accessor functions to manipulate xmlOutputBuffer * native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT) - (GET_XML_OUTPUT_BUFFER_SIZE): New macros. - (xmljOutputWriteCallback): Use them. + (GET_XML_OUTPUT_BUFFER_SIZE): New macros. + (xmljOutputWriteCallback): Use them. + +2012-08-09 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * java/util/TimeZone.java: + (defaultZone()): Use parameterized PrivilegedAction. + (aliases0): Add type parameters. + (timezones0); Likewise. + (timezones()): Likewise. + (getDateParams(String)): Fix indenting. + (getTimeZoneInternal(String)): Remove redundant casts. + (getAvailableIDs(int)): Add type parameters. + (getAvailableIDs(File,String,ArrayList)): Likewise. + (getAvailableIDs()): Likewise. + +2012-07-03 Andrew John Hughes <gnu_andrew@member.fsf.org> + + Update copyright headers throughout. + * gnu/java/text/AttributedFormatBuffer.java: + (ranges): Add generic type information. + (attributes): Likewise. + (aRanges): Rename from a_ranges. + (aAttributes): Add generic type information and + rename from a_attributes. Convert to a list of + maps rather than an array for type safety. + (defaultAttr): Replace prefix with static import. + (AttributedFormatBuffer(CPStringBuilder): Add generic + typing. + (addAttribute(int,Attribute)): Drop prefix, rename + new_range to newRange. Add generic types. + Use Integer.valueOf in place of new Integer. + (append(String,Attribute)): Drop prefix. + (append(String,int[],List)): Replace array with list. + Use Integer.valueOf instead of new Integer. + (append(char,Attribute)): Drop prefix. + (setDefaultAttribute(Attribute)): Likewise. + (getDefaultAttribute()): Likewise. + (sync()): Rename a_ranges to aRanges. Drop unneeded casts. + Replace array with list. + (getRanges()): Rename a_ranges to aRanges. + (getAttributes()): Replace map with list. Rename a_attributes + to aAttributes. + * gnu/java/text/FormatBuffer.java: + Add static import for Attribute. + * gnu/java/text/FormatCharacterIterator.java: + (attributes): Replace array with list. + (FormatCharacterIterator()): Likewise. + (FormatCharacterIterator(String,int,List)): Switch from + array to list. Update documentation. + (getAllAttributeKeys()): Add generic type. Switch + from array to list. + (getAttributes()): Likewise. + (getAttribute(Attribute)): Likewise. + (getRunLimit(Set)): Likewise. + (getRunLimit(Attribute)): Likewise. + (getRunStart(Set)): Likewise. + (getRunStart(Attribute)): Likewise. + (mergeAttributes(List,int[])): Likewise. Use List + in preference to Vector. Use newRanges & newAttributes + rather than new_ranges and new_attributes. + (append(AttributedCharacterIterator)): Likewise. + (append(String,HashMap)): Likewise. + (addAttributes(Map,int,int)): Likewise. + (dumpTable()): Use startRange instead of start_range. + Add generic types. + * gnu/java/text/StringFormatBuffer.java, + Add static import for Attribute. + * java/text/AttributedString.java: + Add static import for Attribute. + (attribs): Add generic type. + (AttributeRange(Map,int,int)): Likewise. + (AttributedString(String,Map)): Likewise. + (AttributedString(AttributedCharacterIterator, int, int, + Attribute)): Drop prefix, add generic types. + (addAttribute(Attribute,Object)): Drop prefix. + (addAttribute(Attribute,Object,int,int)): Likewise + and add generic types. + (addAttributes(Map,int,int)): Add generic types. + (getIterator(Attribute)): Drop prefix. + (getIterator(Attribute[])): Likewise. + * java/text/AttributedStringIterator.java: + Add static import for Attribute. + (getAllAttributeKeys()): Add generic type. + (getRunLimit(Attribute)): Add generic type, drop + prefix. + (getRunLimit(Set)): Add generic types. + (getRunStart(Attribute)): Add generic type, drop + prefix. + (getRunStart(Set)): Add generic types. + (getAttributes()): Likewise. + * java/text/Bidi.java: + (formatterIndices): Add generic type. + (reinsertFormattingCodes()): Drop redundant cast. + * java/text/BreakIterator.java: + (getInstance(String,Locale)): Add generic type to Class. + * java/text/ChoiceFormat.java: + (stringVec): Add generic type. + (limitVec): Likewise. + (applyPattern(String)): Remove redundant cast. + * java/text/CollationElementIterator.java: + (textDecomposition): Renamed from text_decomposition. + (textIndexes): Renamed from text_indexes. + (setText(String)): Add generic types. Rename a_element + to aElement. Rename a_idx to aIdx. Rename key_old to + keyOld. Use Integer.valueOf rather than new Integer. + * java/text/DecimalFormat.java: + (attributes): Add generic type. + (formatToCharacterIterator(Object)): Remove redundant cast. + * java/text/MessageFormat.java: + (Field()): Remove unneeded warning suppression. + * java/text/NumberFormat.java: + (Field()): Likewise. + +2012-07-01 Andrew John Hughes <ahughes@redhat.com> + + PR classpath/44052 + * java/text/DateFormatSymbols.java: + (DFSData): Inner immutable class for storing parsed + locale data. + (DFSData.DFSData(String[],String[],String,String[], + String[],String[],String[],String[],String[], + String[][])): Constructor to initialise a new instance + with property data. + (DFSData.getAMPMs()): Return a clone of the ampms array. + (DFSData.getEras()): Likewise for eras. + (DFSData.getLocalPatternChars()): Return the local pattern + characters. + (DFSData.getMonths()): Return a clone of the (long) months + array. + (DFSData.getShortMonths()): Likewise for the short months array. + (DFSData.getWeekdays()): Likewise for (long) weekdays. + (DFSData.getShortWeekdays()): Likewise for short weekdays. + (DFSData.getDateFormats()): Likewise for date formats. + (DFSData.getTimeFormats()): Likewise for time formats. + (DFSData.getZoneStrings()): Likewise for zone strings. + (dataCache): Cache of parsed locale data. + (getZoneStrings(List<ResourceBundle>,Locale)): + Make static so it can be called by retrieveData. + (formatsForKey(List<ResourceBundle>,String)): + Likewise. + (getString(List<ResourceBundle>, String)): Likewise. + (retrieveData(Locale)): Separate out retrieval of + locale data from constructor and store it in the cache. + (DateFormatSymbols(Locale)): Modify to call retrieveData + and set fields from the returned DFSData instance. + +2012-05-30 Andrew John Hughes <ahughes@redhat.com> -2012-03-08 Andrew John Hughes <ahughes@redhat.com> + * java/text/DateFormatSymbols.java: + (getZoneStrings(List<ResourceBundle>, Locale)): + Refactor to use existing list of resource bundles. + (formatsForKey(List<ResourceBundle>, String)): + Likewise and use new local getString method. + (getString(List<ResourceBundle>, String)): + Use first available String from most-specific locale + rather than the least-specific. + (DateFormatSymbols(Locale)): Use bundles for resolving + localPatternChars, dateFormats, timeFormats and runtimeZoneStrings + as well. + +2012-05-04 Andrew John Hughes <ahughes@redhat.com> + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c, + (font_map): Renamed from ft2_map. + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_initStaticState(JNIEnv, + jclass)): Remove cast to pango_ft2_font_map_new. + (Java_gnu_java_awt_peer_gtk_GdKFontPeer_setFont(JNIEnv, + jobject,jstring,jint,jint)): Call pango_font_map_create_context + rather than deprecated pango_ft2_font_map_create_context. + +2012-05-01 Andrew John Hughes <ahughes@redhat.com> + + * java/text/DateFormatSymbols.java: + Rename U00AE and U000A9 as the more memorable + FIELD_SPLIT and ZONE_SPLIT respectively. + * THANKYOU: Add Andreas Sewe. - * NEWS: Set correct release date. - * configure.ac: Bump to 0.99 proper. +2012-04-30 Andreas Sewe <sewe@st.informatik.tu-darmstadt.de> + + PR classpath/53171 + * java/text/DateFormatSymbols.java: + (U00A9): Pre-compile pattern for zone separation. + (U00AE): Likewise for fields. + (getStringArray(List,String,int,String)): Use U00AE.split + in place of String.split. + (getZoneStrings(ResourceBundle,Locale)): Use U00AE.split + and U00A9.split in place of String.split. + +2012-04-25 Andrew John Hughes <ahughes@redhat.com> + + Update warning suppression so it still works + with newer compilers. + * javax/activation/ActivationDataFlavor.java: + (ActivationDataFlavor(Class,String,String)): Suppress + rawtypes not unchecked. + (ActivationDataFlavor(Class,String)): Likewise. + (getRepresentationClass()): Likewise. + * javax/activation/MimeTypeParameterList.java: + (getNames()): Likewise. + * javax/management/DefaultLoaderRepository.java: + (loadClass(String)): Likewise. + (loadClassWithout(ClassLoader,String)): Likewise. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInof(String,Constructor)): Likewise. + * javax/management/remote/rmi/RMIConnection.java: + (addNotificationListener(ObjectName,ObjectName,MarshelledObject, + MarshelledObject,Subject)): Likewise. + (addNotificationListeners(ObjectName[],MarshelledObject[], Subject[])): + Likewise. + (createMBean(String,ObjectName,MarshalledObject,String,Subject)): Likewise. + (createMBean(String,ObjectName,ObjectName,MarshalledObject,String[],Subject)): + Likewise. + (invoke(ObjectName,String,MarshalledObject,String[],Subject)): Likewise. + (queryMBeans(ObjectName,MarshalledObject,Subject)): Likewise. + (queryNames(ObjectName,MarshalledObject,Subject)): Likewise. + (removeNotificationListener(ObjectName,ObjectName,MarshalledObject, + MarshalledObject,Subject)): Likewise. + (setAttribute(ObjectName,MarshalledObject,Subject)): Likewise. + (setAttributes(ObjectName,MarshalledObject,Subject)): Likewise. + * javax/swing/tree/DefaultMutableTreeNode.java: + (children()): Likewise. + (preorderEnumeration()): Likewise. + (postorderEnumeration()): Likewise. + (breadthFirstEnumeration()): Likewise. + (depthFirstEnumeration()): Likewise. + (pathFromAncestorEnumeration(TreeNode)): Likewise. + (BreadthFirstEnumeration.nextElement()): Move annotation down to assignment level. + (PreorderEnumeration.PreorderEnumeration(TreeNode)): Likewise. + (PreorderEnumeration.traverse(Enumeration)): Likewise. + (PostorderEnumeration.PostorderEnumeration(TreeNode)): Likewise. + (PostorderEnumeration.traverse(Enumeration()): Likewise. + * javax/swing/tree/TreeNode.java: + (children()): Suppress rawtypes not unchecked. + * javax/xml/namespace/NamespaceContext.java: + (getPrefixes(String)): Likewise. + * javax/xml/stream/XMLEventFactory.java: + (createStartElement(QName,Iterator,Iterator)): Likewise. + (createStartElement(String,String,String,Iterator,Iterator)): Likewise. + (createStartElement(String,String,String,Iterator,Iterator,NamespaceContext)): + Likewise. + (createEndElement(QName,Iterator)): Likewise. + (createEndElement(String,String,String,Iterator)): Likewise. + * javax/xml/stream/XMLEventReader.java: Likewise (at class level + due to inheritance). + * javax/xml/stream/events/DTD.java: + (getNotations()): Likewise. + (getEntities()): Likewise. + * javax/xml/stream/events/EndElement.java: + (getNamespaces()): Likewise. + * javax/xml/stream/events/StartElement.java: + (getAttributes()): Likewise. + (getNamespaces()): Likewise. + * javax/xml/xpath/XPathFunction.java: + (evaluate(List)): Likewise. + * org/omg/CORBA/LocalObject.java: + (_servant_preinvoke(String,Class)): Likewise. + * org/omg/CORBA/portable/Delegate.java: + (servant_preinvoke(org.omg.CORBA.Object,String,Class)): Likewise. + * org/omg/CORBA/portable/InputStream.java: + (read_Object(Class)): Likewise. + * org/omg/CORBA/portable/ObjectImpl.java: + (_servant_preinvoke(String,Class)): Likewise. + * org/omg/CORBA_2_3/portable/InputStream.java: + (read_abstract_interface(Class)): Likewise. + (read_value(Class)): Likewise. + * org/omg/CORBA_2_3/portable/OutputStream.java: + (write_value(Serializable,Class)): Likewise. + * org/omg/DynamicAny/_DynAnyFactoryStub.java: + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynAnyStub.java: + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynArrayStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynEnumStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynFixedStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynSequenceStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynStructStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynUnionStub.java, + (_opsClass): Likewise. + * org/omg/DynamicAny/_DynValueStub.java, + (_opsClass): Likewise. + * org/omg/PortableServer/_ServantActivatorStub.java, + (_opsClass): Likewise. + * org/omg/PortableServer/_ServantLocatorStub.java, + (_opsClass): Likewise. + +2012-04-24 Andrew John Hughes <ahughes@redhat.com> + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: + (Java_gnu_java_awt_peer_gtk_GtkImage_freePixbuf): + Use g_object_unref rather than deprecated gdk_pixbuf_unref + to avoid warning. + +2012-04-03 Andrew John Hughes <ahughes@redhat.com> + + * .gitignore: Renamed from .cvsignore. + +2012-01-01 Jakub Jelinek <jakub@redhat.com> + + * gnu/java/rmi/registry/RegistryImpl.java (version): Update + copyright notice dates. + * tools/gnu/classpath/tools/orbd/Main.java (run): Likewise. + +2007-02-26 Jakub Jelinek <jakub@redhat.com> + + * java/util/TimeZone.java (getDefaultDisplayName): Don't + check if TimeZone is instanceof SimpleTimeZone. + +2006-09-13 Andrew Haley <aph@redhat.com> + + * java/util/PriorityQueue.java: Throw IllegalArgumentException for + capacity < 1. + (Iterator.remove()): Decrement index after removing element. + +2007-02-14 Jakub Jelinek <jakub@redhat.com> + Andrew Haley <aph@redhat.com> + + * java/util/TimeZone.java (getDateParams): Negate dayOfWeek. + +2012-03-22 Andrew John Hughes <ahughes@redhat.com> + + * java/util/regex/Matcher.java: + (usePattern(Pattern)): Implemented. + +2012-03-25 Gerald Pfeifer <gerald@pfeifer.com> + + PR libgcj/52694 + * native/jni/java-io/java_io_VMConsole.c (IUCLC): Define, if + undefined. + +2012-03-16 Andrew John Hughes <ahughes@redhat.com> + + * NEWS: Add key along the same lines + as IcedTea. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * gnu/java/nio/FileLockImpl.java, + * java/beans/XMLDecoder.java, + * java/beans/XMLEncoder.java, + * java/io/Closeable.java, + * java/io/ObjectInput.java, + * java/io/ObjectOutput.java, + * java/lang/AutoCloseable.java, + * java/nio/channels/FileLock.java, + * java/sql/Connection.java, + * java/sql/ResultSet.java, + * java/sql/Statement.java, + * javax/sound/midi/MidiDevice.java, + * javax/sound/midi/Receiver.java, + * javax/sound/midi/Transmitter.java, + * javax/sound/sampled/Line.java: + Add missing interface. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/reflect/Modifier.java: + (classModifiers): Add missing method. + (interfaceModifiers): Add missing method. + (constructorModifiers): Add missing method. + (methodModifiers): Add missing method. + (fieldModifiers): Add missing method. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/ClassNotFoundException, + * java/lang/IllegalAccessException.java, + * java/lang/InstantiationException.java, + * java/lang/NoSuchFieldException.java, + * java/lang/NoSuchMethodException.java, + * java/lang/ReflectiveOperationException.java, + * java/lang/reflect/InvocationTargetException.java: + Add ReflectiveOperationException class. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/AssertionError.java: + (AssertionError): Add missing constructor. + * java/lang/LinkageError.java: + (LinkageError): Add missing constructor. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/Boolean.java: + (compare): Add missing method. + * java/lang/Byte.java: + (compare): Add missing method. + * java/lang/Character.java: + (compare): Add missing method. + * java/lang/Integer.java: + (compare): Add missing method. + * java/lang/Long.java: + (compare): Add missing method. + * java/lang/Short.java: + (compare): Add missing method. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/System.java: + (lineSeparator): Add missing method. + +2012-03-12 Pekka Enberg <penberg@kernel.org> + + * java/lang/reflect/Member.java: + (getDeclaringClass): Fix return type. + +2012-03-07 Andrew John Hughes <ahughes@redhat.com> + + * NEWS: + Add section for 1.0 release. + * configure.ac: + Bump to 1.0pre. 2012-03-07 Andrew John Hughes <ahughes@redhat.com> diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj index 53d206bdcc9..45da96b0792 100644 --- a/libjava/classpath/ChangeLog.gcj +++ b/libjava/classpath/ChangeLog.gcj @@ -1,3 +1,8 @@ +2012-12-03 Matthias Klose <doko@ubuntu.com> + + * configure.ac (AM_INIT_AUTOMAKE): Call with no-dist. + * m4/lib-ld.m4, m4/lib-link.m4,m4/lib-prefix.m4: New. + 2012-05-16 H.J. Lu <hongjiu.lu@intel.com> * configure: Regenerated. diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL index a1e89e18ad2..7d1c323beae 100644 --- a/libjava/classpath/INSTALL +++ b/libjava/classpath/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, -Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -226,11 +226,6 @@ order to use an ANSI C compiler: and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX `make' updates targets which have the same time stamps as -their prerequisites, which makes it generally unusable when shipped -generated files such as `configure' are involved. Use GNU `make' -instead. - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `<wchar.h>' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in index 0e8aee5b8d0..eda3433a321 100644 --- a/libjava/classpath/Makefile.in +++ b/libjava/classpath/Makefile.in @@ -36,11 +36,11 @@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \ - $(srcdir)/../../config.guess $(srcdir)/../../config.sub \ - $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \ - $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/configure \ + $(srcdir)/../../config.guess $(srcdir)/../../config.rpath \ + $(srcdir)/../../config.sub $(srcdir)/../../install-sh \ + $(srcdir)/../../ltmain.sh $(srcdir)/../../missing \ + $(srcdir)/../../mkinstalldirs $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure \ $(top_srcdir)/gnu/classpath/Configuration.java.in \ $(top_srcdir)/gnu/java/security/Configuration.java.in \ $(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ @@ -57,9 +57,6 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -78,7 +75,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -247,6 +246,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS index dd2e1568ff2..0a7884a6fab 100644 --- a/libjava/classpath/NEWS +++ b/libjava/classpath/NEWS @@ -1,4 +1,27 @@ -New in release 0.99 (Mar 08, 2012) +Key: + +SX - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=X +RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X +DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X +GX - http://bugs.gentoo.org/show_bug.cgi?id=X +CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X +LPX - https://bugs.launchpad.net/bugs/X +PRX - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=X + +CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY + +New in release 0.99.1 (XXX XX, 2012) + +* Bug fixes: + - PR42134: NPE in java.text.Bidi + - PR54931: Classpath will not build docs with version of GJDoc included with itself + - PR54960: Avoid NullPointerException in SAXSerializer. + - PR42551: Avoid overwriting length of message when computing length representation. + - PR44208: Ensure a handle for the enum is registered before its constant. + - PR41689: javax.security.sasl.CREDIENTIALS field is missing + - PR55140: Addition of exception to codePointBefore breaks OpenJDK GenerateBreakIteratorData tool + +New in release 0.99 (Feb 15, 2012) * Addition of java.util.regex.Pattern.quote. * Addition of java.io.IOError. diff --git a/libjava/classpath/THANKYOU b/libjava/classpath/THANKYOU index 21e75c84e47..22314d1e743 100644 --- a/libjava/classpath/THANKYOU +++ b/libjava/classpath/THANKYOU @@ -15,6 +15,7 @@ Moses DeJong (dejong@cs.umn.edu) Patrick Doyle (doylep@eecg.toronto.edu) Julian Dolby (dolby@us.ibm.com) Raimar Falke (hawk@hawk.shef.ac.uk) +Paul Fernhout (pdfernhout@kurtz-fernhout.com) Philip Fong (pwlfong@users.sourceforge.net) Jeroen Frijters (jeroen@sumatra.nl) Etienne M. Gagnon (etienne.gagnon@uqam.ca) @@ -43,6 +44,8 @@ Petter Reinholdtsen (pere@hungry.com) Julian Scheid (julian.scheid@sektor37.de) Martin Schröder (ms@artcom-gmbh.de) Robert Schuster (robertschuster@fsfe.org) +Andreas Sewe (sewe@st.informatik.tu-darmstadt.de) +Jeremy Singer (Jeremy.Singer@glasgow.ac.uk) Gaute Smaaland (gs@sevenmountains.no) Michael Smith (msmith@spinnakernet.com) J. Russell Smyth (drfish@uswest.net) @@ -50,6 +53,7 @@ Ian D. Stewart (idstewart@softhome.net) Jeff Sturm (jsturm@one-point.com) Sreenivas Subramoney (sreenivas.subramoney@intel.com) Chris Toshok (toshok@hungry.com) +Paul Viney (paul@diasoft.nl) Weldon Washburn (weldon.washburn@intel.com) Adam Welc (welc@cs.purdue.edu) Gansha Wu (gansha.wu@intel.com) diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4 index e84d8d8e1a9..c6fce4da260 100644 --- a/libjava/classpath/aclocal.m4 +++ b/libjava/classpath/aclocal.m4 @@ -1062,9 +1062,6 @@ AC_SUBST([am__untar]) m4_include([../../config/depstand.m4]) m4_include([../../config/lead-dot.m4]) -m4_include([../../config/lib-ld.m4]) -m4_include([../../config/lib-link.m4]) -m4_include([../../config/lib-prefix.m4]) m4_include([../../config/multi.m4]) m4_include([../../config/no-executables.m4]) m4_include([../../config/override.m4]) @@ -1085,4 +1082,7 @@ m4_include([m4/ax_create_stdint_h.m4]) m4_include([m4/ax_func_which_gethostbyname_r.m4]) m4_include([m4/gcc_attribute.m4]) m4_include([m4/iconv.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) m4_include([m4/pkg.m4]) diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub index 78176a44029..59bb593f109 100755 --- a/libjava/classpath/config.sub +++ b/libjava/classpath/config.sub @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-10-29' +timestamp='2012-04-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,9 +21,7 @@ timestamp='2011-10-29' # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -76,8 +74,8 @@ version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,6 +130,10 @@ case $maybe_os in os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -223,6 +225,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -247,6 +255,7 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ @@ -319,8 +328,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -333,7 +341,10 @@ case $basic_machine in strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -356,6 +367,7 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ @@ -719,7 +731,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -816,6 +827,10 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -1343,7 +1358,7 @@ case $os in | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1555,9 +1570,6 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout diff --git a/libjava/classpath/configure b/libjava/classpath/configure index 48a422ab102..e42cde64102 100755 --- a/libjava/classpath/configure +++ b/libjava/classpath/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for GNU Classpath 0.99. +# Generated by GNU Autoconf 2.64 for GNU Classpath 0.99.1-pre. # # Report bugs to <classpath@gnu.org>. # @@ -559,8 +559,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU Classpath' PACKAGE_TARNAME='classpath' -PACKAGE_VERSION='0.99' -PACKAGE_STRING='GNU Classpath 0.99' +PACKAGE_VERSION='0.99.1-pre' +PACKAGE_STRING='GNU Classpath 0.99.1-pre' PACKAGE_BUGREPORT='classpath@gnu.org' PACKAGE_URL='http://www.gnu.org/software/classpath/' @@ -669,6 +669,7 @@ GLIB_LIBS GLIB_CFLAGS MOZILLA_LIBS MOZILLA_CFLAGS +MOC4 MOC QT_LIBS QT_CFLAGS @@ -1490,7 +1491,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Classpath 0.99 to adapt to many kinds of systems. +\`configure' configures GNU Classpath 0.99.1-pre to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1565,7 +1566,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Classpath 0.99:";; + short | recursive ) echo "Configuration of GNU Classpath 0.99.1-pre:";; esac cat <<\_ACEOF @@ -1757,7 +1758,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Classpath configure 0.99 +GNU Classpath configure 0.99.1-pre generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2586,7 +2587,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Classpath $as_me 0.99, which was +It was created by GNU Classpath $as_me 0.99.1-pre, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3621,7 +3622,7 @@ fi # Define the identity of the package. PACKAGE='classpath' - VERSION='0.99' + VERSION='0.99.1-pre' cat >>confdefs.h <<_ACEOF @@ -3880,10 +3881,10 @@ if test "${enable_Werror+set}" = set; then : enableval=$enable_Werror; case "${enableval}" in yes) ENABLE_WERROR=yes ;; no) ENABLE_WERROR=no ;; - *) ENABLE_WERROR=default ;; + *) ENABLE_WERROR=no ;; esac else - ENABLE_WERROR=default + ENABLE_WERROR=no fi @@ -11819,7 +11820,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11822 "configure" +#line 11823 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11925,7 +11926,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11928 "configure" +#line 11929 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17957,7 +17958,7 @@ $as_echo_n "checking for ld used by GCC... " >&6; } # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; @@ -17989,11 +17990,12 @@ else # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac fi done IFS="$ac_save_ifs" @@ -18017,11 +18019,12 @@ if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes ;; +*) + acl_cv_prog_gnu_ld=no ;; +esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } @@ -18029,6 +18032,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then : @@ -18045,12 +18049,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : @@ -18061,6 +18067,74 @@ fi + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if test "${gl_cv_solaris_64bit+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + + + + + @@ -18100,7 +18174,11 @@ if test "${with_libiconv_prefix+set}" = set; then : else additional_includedir="$withval/include" - additional_libdir="$withval/lib" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi fi fi @@ -18109,6 +18187,8 @@ fi LIBICONV= LTLIBICONV= INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= @@ -18142,22 +18222,52 @@ fi found_la= found_so= found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done fi fi fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do @@ -18173,21 +18283,44 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done fi fi fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi ;; esac if test "X$found_dir" != "X"; then @@ -18198,7 +18331,9 @@ fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= @@ -18211,10 +18346,10 @@ fi if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi - if test "$hardcode_direct" = yes; then + if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do @@ -18246,7 +18381,7 @@ fi if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi - if test "$hardcode_minus_L" != no; then + if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" @@ -18263,8 +18398,18 @@ fi fi additional_includedir= case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi additional_includedir="$basedir/include" ;; esac @@ -18274,7 +18419,7 @@ fi if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi @@ -18313,12 +18458,14 @@ fi case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi @@ -18415,21 +18562,21 @@ fi done done if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then + if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" + eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" + eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done @@ -18447,6 +18594,11 @@ fi + + + + + am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do @@ -20897,11 +21049,11 @@ fi set dummy moc-qt4; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_MOC+set}" = set; then : +if test "${ac_cv_prog_MOC4+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -n "$MOC"; then - ac_cv_prog_MOC="$MOC" # Let the user override the test. + if test -n "$MOC4"; then + ac_cv_prog_MOC4="$MOC4" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -20910,7 +21062,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_MOC="moc-qt4" + ac_cv_prog_MOC4="moc-qt4" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -20920,16 +21072,21 @@ IFS=$as_save_IFS fi fi -MOC=$ac_cv_prog_MOC -if test -n "$MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 -$as_echo "$MOC" >&6; } +MOC4=$ac_cv_prog_MOC4 +if test -n "$MOC4"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5 +$as_echo "$MOC4" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + if test x"$MOC4" != x ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using $MOC4 as moc" >&5 +$as_echo "$as_me: Using $MOC4 as moc" >&6;} + MOC=$MOC4; + fi fi if test "x$HAVE_QT4" = "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: Looking for QT_CFLAGS and QT_LIBS without pkg-config" >&5 @@ -23038,6 +23195,8 @@ $as_echo "${gjdoc_version}" >&6; } case ${gjdoc_version} in 0.7.9) ;; 0.8*) ;; + 0.9*) ;; + 1*) ;; *) as_fn_error "Building documentation requires GJDoc >= 0.7.9, ${gjdoc_version} found." "$LINENO" 5 ;; esac fi @@ -23757,7 +23916,7 @@ fi test "x$JAVA" = x && as_fn_error "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5 -ECJ_OPTS="-warn:-deprecation,serial,unusedImport" +ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource" JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides" GCJ_OPTS="-g" if test "x$JAVAPREFIX" = x; then @@ -23887,7 +24046,7 @@ else JAVA_TEST=Object.java CLASS_TEST=Object.class cat << \EOF > $JAVA_TEST -/* #line 23890 "configure" */ +/* #line 24049 "configure" */ package java.lang; public class Object @@ -23980,7 +24139,7 @@ EOF if uudecode$EXEEXT Test.uue; then ac_cv_prog_uudecode_base64=yes else - echo "configure: 23983: uudecode had trouble decoding base 64 file 'Test.uue'" >&5 + echo "configure: 24142: uudecode had trouble decoding base 64 file 'Test.uue'" >&5 echo "configure: failed file was:" >&5 cat Test.uue >&5 ac_cv_prog_uudecode_base64=no @@ -24008,7 +24167,7 @@ JAVA_TEST=Test.java CLASS_TEST=Test.class TEST=Test cat << \EOF > $JAVA_TEST -/* [#]line 24011 "configure" */ +/* [#]line 24170 "configure" */ public class Test { public static void main (String args[]) { System.exit (0); @@ -24216,7 +24375,7 @@ if test "x${use_glibj_zip}" = xfalse || \ JAVA_TEST=Test.java CLASS_TEST=Test.class cat << \EOF > $JAVA_TEST - /* #line 24219 "configure" */ + /* #line 24378 "configure" */ public class Test { public static void main(String args) @@ -25061,7 +25220,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Classpath $as_me 0.99, which was +This file was extended by GNU Classpath $as_me 0.99.1-pre, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25131,7 +25290,7 @@ General help using GNU software: <http://www.gnu.org/gethelp/>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -GNU Classpath config.status 0.99 +GNU Classpath config.status 0.99.1-pre configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac index 60121a56356..910c8f02e9a 100644 --- a/libjava/classpath/configure.ac +++ b/libjava/classpath/configure.ac @@ -6,7 +6,7 @@ dnl ----------------------------------------------------------- dnl define([AC_CACHE_LOAD], )dnl dnl define([AC_CACHE_SAVE], )dnl -AC_INIT([GNU Classpath],[0.99],[classpath@gnu.org],[classpath]) +AC_INIT([GNU Classpath],[0.99.1-pre],[classpath@gnu.org],[classpath]) AC_CONFIG_SRCDIR(java/lang/System.java) AC_CONFIG_MACRO_DIR([m4]) @@ -75,7 +75,7 @@ CLASSPATH_CONVENIENCE="-no-undefined" AC_SUBST(CLASSPATH_CONVENIENCE) AC_PREREQ(2.64) -AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability]) +AM_INIT_AUTOMAKE([1.9.0 no-dist gnu std-options tar-ustar -Wno-portability]) AC_CONFIG_HEADERS([include/config.h]) AC_PREFIX_DEFAULT(/usr/local/classpath) @@ -183,9 +183,9 @@ AC_ARG_ENABLE([Werror], [case "${enableval}" in yes) ENABLE_WERROR=yes ;; no) ENABLE_WERROR=no ;; - *) ENABLE_WERROR=default ;; + *) ENABLE_WERROR=no ;; esac], - [ENABLE_WERROR=default]) + [ENABLE_WERROR=no]) dnl ----------------------------------------------------------- dnl Default AWT toolkit @@ -703,7 +703,11 @@ if test "x${COMPILE_JNI}" = xyes; then QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR", AC_MSG_WARN([QWidget not found]))) AC_CHECK_PROG(MOC, [moc], [moc]) - AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4]) + AC_CHECK_PROG(MOC4, [moc-qt4], [moc-qt4]) + if test x"$MOC4" != x ; then + AC_MSG_NOTICE([Using $MOC4 as moc]) + MOC=$MOC4; + fi fi if test "x$HAVE_QT4" = "xno"; then AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config]) diff --git a/libjava/classpath/depcomp b/libjava/classpath/depcomp index bd0ac089584..df8eea7e4ce 100755 --- a/libjava/classpath/depcomp +++ b/libjava/classpath/depcomp @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2011-12-04.11; # UTC +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free +# Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ Environment variables: object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. + tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to <bug-automake@gnu.org>. @@ -90,18 +90,10 @@ if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' + cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -166,12 +158,10 @@ gcc) ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. +## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -415,52 +405,6 @@ tru64) rm -f "$tmpdepfile" ;; -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/ \1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/ / - G - p -}' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -559,9 +503,7 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation diff --git a/libjava/classpath/doc/Makefile.am b/libjava/classpath/doc/Makefile.am index a5f19b7e5da..27a378d07be 100644 --- a/libjava/classpath/doc/Makefile.am +++ b/libjava/classpath/doc/Makefile.am @@ -7,8 +7,9 @@ EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS) TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex info_TEXINFOS = cp-tools.texinfo +# POSIX locale necessary to make grep work; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586134 .texinfo.dvi: - texi2dvi $< + LC_ALL=POSIX texi2dvi --build-dir=$(builddir) -o $@ $< .dvi.ps: dvips -o $@ $< @@ -135,3 +136,6 @@ MAINTAINERCLEANFILES = \ $(srcdir)/gserialver.1 \ $(srcdir)/gtnameserv.1 \ $(srcdir)/cp-tools.info + +clean-local: + -rm -rf *.t2d diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in index 7a2432c0dda..060ddea533b 100644 --- a/libjava/classpath/doc/Makefile.in +++ b/libjava/classpath/doc/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -245,6 +244,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ @@ -868,7 +868,8 @@ maintainer-clean-generic: -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive -clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am +clean-am: clean-aminfo clean-generic clean-libtool clean-local \ + mostlyclean-am distclean: distclean-recursive -rm -f Makefile @@ -1018,10 +1019,10 @@ uninstall-man: uninstall-man1 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local check check-am clean clean-aminfo \ - clean-generic clean-libtool ctags ctags-recursive dist-info \ - distclean distclean-generic distclean-libtool distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ + clean-generic clean-libtool clean-local ctags ctags-recursive \ + dist-info distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ @@ -1034,8 +1035,9 @@ uninstall-man: uninstall-man1 uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am +# POSIX locale necessary to make grep work; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586134 .texinfo.dvi: - texi2dvi $< + LC_ALL=POSIX texi2dvi --build-dir=$(builddir) -o $@ $< .dvi.ps: dvips -o $@ $< @@ -1113,6 +1115,9 @@ stamp-geninsrc: $(TOOLS_MANFILES) cp-tools.info -cp -p cp-tools.info $(srcdir)/cp-tools.info touch $@ +clean-local: + -rm -rf *.t2d + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in index c811ef15ac3..88bd46b1c87 100644 --- a/libjava/classpath/doc/api/Makefile.in +++ b/libjava/classpath/doc/api/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -170,6 +169,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/doc/cp-tools.texinfo b/libjava/classpath/doc/cp-tools.texinfo index 7b4e747319e..ec186dee778 100644 --- a/libjava/classpath/doc/cp-tools.texinfo +++ b/libjava/classpath/doc/cp-tools.texinfo @@ -2438,14 +2438,14 @@ with the header @samp{CVS ID}, you would specify: Let's say that a class javadoc comment contains @smallexample -@@cvsid $Id: cp-tools.texinfo,v 1.9 2012/03/07 15:27:27 gnu_andrew Exp $ +@@cvsid $Id: cp-tools.texinfo,v 1.9 2012-03-07 15:27:27 gnu_andrew Exp $ @end smallexample Then the HTML output will contain something like @smallexample CVS ID: - $Id: cp-tools.texinfo,v 1.9 2012/03/07 15:27:27 gnu_andrew Exp $ + $Id: cp-tools.texinfo,v 1.9 2012-03-07 15:27:27 gnu_andrew Exp $ @end smallexample @end table diff --git a/libjava/classpath/doc/texinfo.tex b/libjava/classpath/doc/texinfo.tex index 2abda0f3daf..91408263bc9 100644 --- a/libjava/classpath/doc/texinfo.tex +++ b/libjava/classpath/doc/texinfo.tex @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2012-01-03.09} +\def\texinfoversion{2009-08-14.15} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +% 2007, 2008, 2009 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -65,6 +65,7 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} + \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -92,13 +93,14 @@ \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ -\let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top -{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode +{\catcode`\'=\active +\global\let\ptexquoteright'}% Math-mode def from plain.tex. +\let\ptexraggedright=\raggedright % If this character appears in an error message or help string, it % starts a new line in the output. @@ -116,11 +118,10 @@ % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi -\ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi +\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi +\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi @@ -159,18 +160,15 @@ \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. -\chardef\ampChar = `\& \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! -\chardef\hashChar = `\# \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; -\chardef\slashChar = `\/ \chardef\underChar = `\_ % Ignore a token. @@ -201,7 +199,36 @@ % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % -\def\finalout{\overfullrule=0pt } +\def\finalout{\overfullrule=0pt} + +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, @@ -219,7 +246,7 @@ \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\thisisundefined\else % etex gives us more logging + \ifx\eTeXversion\undefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 @@ -230,13 +257,6 @@ \errorcontextlines16 }% -% @errormsg{MSG}. Do the index-like expansions on MSG, but if things -% aren't perfect, it's not the end of the world, being an error message, -% after all. -% -\def\errormsg{\begingroup \indexnofonts \doerrormsg} -\def\doerrormsg#1{\errmessage{#1}} - % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % @@ -247,6 +267,7 @@ \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} +% For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks @@ -556,7 +577,7 @@ } \def\inenvironment#1{% \ifx#1\empty - outside of any environment% + out of any environment% \else in environment \expandafter\string#1% \fi @@ -568,7 +589,7 @@ \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else - % The general wording of \badenverr may not be ideal. + % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup @@ -578,6 +599,85 @@ \newhelp\EMsimple{Press RETURN to continue.} +%% Simple single-character @ commands + +% @@ prints an @ +% Kludge this until the fonts are right (grr). +\def\@{{\tt\char64}} + +% This is turned off because it was never documented +% and you can use @w{...} around a quote to suppress ligatures. +%% Define @` and @' to be the same as ` and ' +%% but suppressing ligatures. +%\def\`{{`}} +%\def\'{{'}} + +% Used to generate quoted braces. +\def\mylbrace {{\tt\char123}} +\def\myrbrace {{\tt\char125}} +\let\{=\mylbrace +\let\}=\myrbrace +\begingroup + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux/toc files. + \catcode`\{ = \other \catcode`\} = \other + \catcode`\[ = 1 \catcode`\] = 2 + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , + +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \c +\let\dotaccent = \. +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \t +\let\ubaraccent = \b +\let\udotaccent = \d + +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} + +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi + \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} + +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% + \kern-.15em + \TeX +} + % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and @@ -619,7 +719,7 @@ \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% + \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% \fi\fi } @@ -701,6 +801,15 @@ where each line of input produces a line of output.} \newdimen\mil \mil=0.001in +% Old definition--didn't work. +%\parseargdef\need{\par % +%% This method tries to make TeX break the page naturally +%% if the depth of the box does not fit. +%{\baselineskip=0pt% +%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak +%\prevdepth=-1000pt +%}} + \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. @@ -764,7 +873,7 @@ where each line of input produces a line of output.} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. Not documented, written for gawk manual. +% class. WHICH is `l' or `r'. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} @@ -811,36 +920,6 @@ where each line of input produces a line of output.} \temp } -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). This command -% is not documented, not supported, and doesn't work. -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} - % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} @@ -851,7 +930,6 @@ where each line of input produces a line of output.} \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. - \wlog{texinfo.tex: doing @include of #1^^J}% \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes @@ -1017,6 +1095,109 @@ where each line of input produces a line of output.} } +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode`\_ = \active + \gdef\mathunderscore{% + \catcode`\_=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a \ character. +% FYI, plain.tex uses \\ as a temporary control sequence (why?), but +% this is not advertised and we don't care. Texinfo does not +% otherwise define @\. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \catcode`' = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + \let' = \ptexquoteright + } +} + +% Some math mode symbols. +\def\bullet{$\ptexbullet$} +\def\geq{\ifmmode \ge\else $\ge$\fi} +\def\leq{\ifmmode \le\else $\le$\fi} +\def\minus{\ifmmode -\else $-$\fi} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. +% +\def\dots{% + \leavevmode + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em + \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor +} + +% @comma{} is so commas can be inserted into text without messing up +% Texinfo's parsing. +% +\let\comma = , + % @refill is a no-op. \let\refill=\relax @@ -1081,8 +1262,9 @@ where each line of input produces a line of output.} \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as being undefined. -\ifx\pdfoutput\thisisundefined +% can be set). So we test for \relax and 0 as well as \undefined, +% borrowed from ifpdf.sty. +\ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else @@ -1097,24 +1279,50 @@ where each line of input produces a line of output.} % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. -% -% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and -% related messages. The final outcome is that it is up to the TeX user -% to double the backslashes and otherwise make the string valid, so -% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to -% do this reliably, so we use it. - -% #1 is a control sequence in which to do the replacements, -% which we \xdef. -\def\txiescapepdf#1{% - \ifx\pdfescapestring\relax - % No primitive available; should we give a warning or log? - % Many times it won't matter. - \else - % The expandable \pdfescapestring primitive escapes parentheses, - % backslashes, and other special chars. - \xdef#1{\pdfescapestring{#1}}% - \fi +% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html +% (and related messages, the final outcome is that it is up to the TeX +% user to double the backslashes and otherwise make the string valid, so +% that's what we do). + +% double active backslashes. +% +{\catcode`\@=0 \catcode`\\=\active + @gdef@activebackslashdouble{% + @catcode`@\=@active + @let\=@doublebackslash} +} + +% To handle parens, we must adopt a different approach, since parens are +% not active characters. hyperref.dtx (which has the same problem as +% us) handles it with this amazing macro to replace tokens, with minor +% changes for Texinfo. It is included here under the GPL by permission +% from the author, Heiko Oberdiek. +% +% #1 is the tokens to replace. +% #2 is the replacement. +% #3 is the control sequence with the string. +% +\def\HyPsdSubst#1#2#3{% + \def\HyPsdReplace##1#1##2\END{% + ##1% + \ifx\\##2\\% + \else + #2% + \HyReturnAfterFi{% + \HyPsdReplace##2\END + }% + \fi + }% + \xdef#3{\expandafter\HyPsdReplace#3#1\END}% +} +\long\def\HyReturnAfterFi#1\fi{\fi#1} + +% #1 is a control sequence in which to do the replacements. +\def\backslashparens#1{% + \xdef#1{#1}% redefine it as its expansion; the definition is simply + % \lastnode when called from \setref -> \pdfmkdest. + \HyPsdSubst{(}{\realbackslash(}{#1}% + \HyPsdSubst{)}{\realbackslash)}{#1}% } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images @@ -1176,31 +1384,29 @@ output) for that.)} \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % - % pdftex (and the PDF format) support .pdf, .png, .jpg (among - % others). Let's try in that order, PDF first since if - % someone has a scalable image, presumably better to use that than a - % bitmap. + % pdftex (and the PDF format) support .png, .jpg, .pdf (among + % others). Let's try in that order. \let\pdfimgext=\empty \begingroup - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{JPG}% + \else \gdef\pdfimgext{PDF}% \fi - \else \gdef\pdfimgext{jpeg}% + \else \gdef\pdfimgext{pdf}% \fi - \else \gdef\pdfimgext{jpg}% + \else \gdef\pdfimgext{JPG}% \fi - \else \gdef\pdfimgext{png}% + \else \gdef\pdfimgext{jpeg}% \fi - \else \gdef\pdfimgext{PDF}% + \else \gdef\pdfimgext{jpg}% \fi - \else \gdef\pdfimgext{pdf}% + \else \gdef\pdfimgext{png}% \fi \closein 1 \endgroup @@ -1228,9 +1434,10 @@ output) for that.)} % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive + \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% - \txiescapepdf\pdfdestname + \backslashparens\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % @@ -1262,24 +1469,29 @@ output) for that.)} % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. - \edef\pdfoutlinedest{#3}% + \def\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else - \txiescapepdf\pdfoutlinedest + % Doubled backslashes in the name. + {\activebackslashdouble \xdef\pdfoutlinedest{#3}% + \backslashparens\pdfoutlinedest}% \fi % - % Also escape PDF chars in the display string. - \edef\pdfoutlinetext{#1}% - \txiescapepdf\pdfoutlinetext + % Also double the backslashes in the display string. + {\activebackslashdouble \xdef\pdfoutlinetext{#1}% + \backslashparens\pdfoutlinetext}% % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup + % Thanh's hack / proper braces in bookmarks + \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace + \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace + % % Read toc silently, to get counts of subentries for \pdfoutline. - \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% @@ -1333,26 +1545,15 @@ output) for that.)} % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % - % TODO this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Too - % much work for too little return. Just use the ASCII equivalents - % we use for the index sort strings. - % + % xx to do this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Right + % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile - % We can have normal brace characters in the PDF outlines, unlike - % Texinfo index files. So set that up. - \def\{{\lbracecharliteral}% - \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } - {\catcode`[=1 \catcode`]=2 - \catcode`{=\other \catcode`}=\other - \gdef\lbracecharliteral[{]% - \gdef\rbracecharliteral[}]% - ] % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax @@ -1494,7 +1695,7 @@ output) for that.)} % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) -\ifpdf \ifx\pdffontattr\thisisundefined \else +\ifpdf \ifx\pdffontattr\undefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap @@ -1761,7 +1962,7 @@ end % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. -\ifx\fontprefix\thisisundefined +\ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. @@ -1904,8 +2105,8 @@ end \font\reducedsy=cmsy10 \def\reducedecsize{1000} -\textleading = 13.2pt % line spacing for 11pt CM -\textfonts % reset the current fonts +% reset the current fonts +\textfonts \rm } % end of 11pt text font size definitions @@ -2035,9 +2236,11 @@ end \font\reducedsy=cmsy9 \def\reducedecsize{0900} -\divide\parskip by 2 % reduce space between paragraphs -\textleading = 12pt % line spacing for 10pt CM -\textfonts % reset the current fonts +% reduce space between paragraphs +\divide\parskip by 2 + +% reset the current fonts +\textfonts \rm } % end of 10pt text font size definitions @@ -2046,13 +2249,12 @@ end % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % -\def\xiword{11} \def\xword{10} -\def\xwordpt{10pt} +\def\xiword{11} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% - %\wlog{doing @fonttextsize \textsizearg}% + \wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. @@ -2106,7 +2308,7 @@ end \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% - \resetmathfonts \setleading{27pt}} + \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl @@ -2234,14 +2436,12 @@ end % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% - \expandafter\let\expandafter \temp - \csname markupsetuplq\currentmarkupstyle\endcsname + \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% - \expandafter\let\expandafter \temp - \csname markupsetuprq\currentmarkupstyle\endcsname + \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } @@ -2260,26 +2460,22 @@ end \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright -% \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright -% -\let\markupsetuplqsamp \markupsetcodequoteleft -\let\markupsetuprqsamp \markupsetcodequoteright -% \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright -% \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright +\let\markupsetuplqsamp \markupsetnoligaturesquoteleft \let\markupsetuplqkbd \markupsetnoligaturesquoteleft -% Allow an option to not use regular directed right quote/apostrophe -% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). -% The undirected quote is ugly, so don't make it the default, but it -% works for pasting with more pdf viewers (at least evince), the -% lilypond developers report. xpdf does work with the regular 0x27. +% Allow an option to not replace quotes with a regular directed right +% quote/apostrophe (char 0x27), but instead use the undirected quote +% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it +% the default, but it works for pasting with more pdf viewers (at least +% evince), the lilypond developers report. xpdf does work with the +% regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax @@ -2303,84 +2499,33 @@ end \else \char'22 \fi } -% Commands to set the quote options. -% -\parseargdef\codequoteundirected{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxicodequoteundirected\endcsname - = t% - \else\ifx\temp\offword - \expandafter\let\csname SETtxicodequoteundirected\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% - \fi\fi -} -% -\parseargdef\codequotebacktick{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxicodequotebacktick\endcsname - = t% - \else\ifx\temp\offword - \expandafter\let\csname SETtxicodequotebacktick\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% - \fi\fi -} - % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 -% Font commands. +%% Add scribe-like font environments, plus @l for inline lisp (usually sans +%% serif) and @ii for TeX italic -% #1 is the font command (\sl or \it), #2 is the text to slant. -% If we are in a monospaced environment, however, 1) always use \ttsl, -% and 2) do not add an italic correction. -\def\dosmartslant#1#2{% - \ifusingtt - {{\ttsl #2}\let\next=\relax}% - {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% - \next -} -\def\smartslanted{\dosmartslant\sl} -\def\smartitalic{\dosmartslant\it} +% \smartitalic{ARG} outputs arg in italics, followed by an italic correction +% unless the following character is such as not to need one. +\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else + \ptexslash\fi\fi\fi} +\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} +\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} -% Output an italic correction unless \next (presumed to be the following -% character) is such as not to need one. -\def\smartitaliccorrection{% - \ifx\next,% - \else\ifx\next-% - \else\ifx\next.% - \else\ptexslash - \fi\fi\fi - \aftersmartic -} - -% like \smartslanted except unconditionally uses \ttsl, and no ic. +% like \smartslanted except unconditionally uses \ttsl. % @var is set to this for defun arguments. -\def\ttslanted#1{{\ttsl #1}} +\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} - -\def\aftersmartic{} -\def\var#1{% - \let\saveaftersmartic = \aftersmartic - \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% - \smartslanted{#1}% -} +\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted +\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} \let\dfn=\smartslanted \let\emph=\smartitalic @@ -2476,7 +2621,7 @@ end \plainfrenchspacing #1% }% - \null % reset spacefactor to 1000 + \null } % We *must* turn on hyphenation at `-' and `_' in @code. @@ -2508,8 +2653,6 @@ end } } -\def\codex #1{\tclose{#1}\endgroup} - \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% @@ -2523,6 +2666,7 @@ end \discretionary{}{}{}}% {\_}% } +\def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is undesirable in @@ -2542,156 +2686,10 @@ end \allowcodebreaksfalse \else \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% + \errmessage{Unknown @allowcodebreaks option `\txiarg'}% \fi\fi } -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. -% (This \urefnobreak definition isn't used now, leaving it for a while -% for comparison.) -\def\urefnobreak#1{\dourefnobreak #1,,,\finish} -\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% This \urefbreak definition is the active one. -\def\urefbreak{\begingroup \urefcatcodes \dourefbreak} -\let\uref=\urefbreak -\def\dourefbreak#1{\urefbreakfinish #1,,,\finish} -\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \urefcode{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% Allow line breaks around only a few characters (only). -\def\urefcatcodes{% - \catcode\ampChar=\active \catcode\dotChar=\active - \catcode\hashChar=\active \catcode\questChar=\active - \catcode\slashChar=\active -} -{ - \urefcatcodes - % - \global\def\urefcode{\begingroup - \setupmarkupstyle{code}% - \urefcatcodes - \let&\urefcodeamp - \let.\urefcodedot - \let#\urefcodehash - \let?\urefcodequest - \let/\urefcodeslash - \codex - } - % - % By default, they are just regular characters. - \global\def&{\normalamp} - \global\def.{\normaldot} - \global\def#{\normalhash} - \global\def?{\normalquest} - \global\def/{\normalslash} -} - -% we put a little stretch before and after the breakable chars, to help -% line breaking of long url's. The unequal skips make look better in -% cmtt at least, especially for dots. -\def\urefprestretch{\urefprebreak \hskip0pt plus.13em } -\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em } -% -\def\urefcodeamp{\urefprestretch \&\urefpoststretch} -\def\urefcodedot{\urefprestretch .\urefpoststretch} -\def\urefcodehash{\urefprestretch \#\urefpoststretch} -\def\urefcodequest{\urefprestretch ?\urefpoststretch} -\def\urefcodeslash{\futurelet\next\urefcodeslashfinish} -{ - \catcode`\/=\active - \global\def\urefcodeslashfinish{% - \urefprestretch \slashChar - % Allow line break only after the final / in a sequence of - % slashes, to avoid line break between the slashes in http://. - \ifx\next/\else \urefpoststretch \fi - } -} - -% One more complication: by default we'll break after the special -% characters, but some people like to break before the special chars, so -% allow that. Also allow no breaking at all, for manual control. -% -\parseargdef\urefbreakstyle{% - \def\txiarg{#1}% - \ifx\txiarg\wordnone - \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} - \else\ifx\txiarg\wordbefore - \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak} - \else\ifx\txiarg\wordafter - \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak} - \else - \errhelp = \EMsimple - \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% - \fi\fi\fi -} -\def\wordafter{after} -\def\wordbefore{before} -\def\wordnone{none} - -\urefbreakstyle after - -% @url synonym for @uref, since that's how everyone uses it. -% -\let\url=\uref - -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi - % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. \def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} @@ -2709,7 +2707,7 @@ end \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% + \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} @@ -2737,6 +2735,55 @@ end \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} +% @uref (abbreviation for `urlref') takes an optional (comma-separated) +% second argument specifying the text to display and an optional third +% arg as text to display instead of (rather than in addition to) the url +% itself. First (mandatory) arg is the url. Perhaps eventually put in +% a hypertex \special here. +% +\def\uref#1{\douref #1,,,\finish} +\def\douref#1,#2,#3,#4\finish{\begingroup + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \ifpdf + \unhbox0 % PDF: 2nd arg given, show only it + \else + \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url + \fi + \else + \code{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + +% rms does not like angle brackets --karl, 17may97. +% So now @email is just like @uref, unless we are pdf. +% +%\def\email#1{\angleleft{\tt #1}\angleright} +\ifpdf + \def\email#1{\doemail#1,,\finish} + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi + \endlink + \endgroup} +\else + \let\email=\uref +\fi + % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % @@ -2758,7 +2805,6 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi - \null % reset \spacefactor=1000 } % @abbr for "Comput. J." and the like. @@ -2771,219 +2817,10 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi - \null % reset \spacefactor=1000 -} - -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a math (or tt) \. -% FYI, plain.tex uses \\ as a temporary control sequence (for no -% particular reason), but this is not advertised and we don't care. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \catcode`' = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - \let' = \ptexquoteright - } -} - -% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. -% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, -% except specified as a normal braced arg, so no newlines to worry about. -% -\def\outfmtnametex{tex} -% -\def\inlinefmt#1{\doinlinefmt #1,\finish} -\def\doinlinefmt#1,#2,\finish{% - \def\inlinefmtname{#1}% - \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi -} -% For raw, must switch into @tex before parsing the argument, to avoid -% setting catcodes prematurely. Doing it this way means that, for -% example, @inlineraw{html, foo{bar} gets a parse error instead of being -% ignored. But this isn't important because if people want a literal -% *right* brace they would have to use a command anyway, so they may as -% well use a command to get a left brace too. We could re-use the -% delimiter character idea from \verb, but it seems like overkill. -% -\def\inlineraw{\tex \doinlineraw} -\def\doinlineraw#1{\doinlinerawtwo #1,\finish} -\def\doinlinerawtwo#1,#2,\finish{% - \def\inlinerawname{#1}% - \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi - \endgroup % close group opened by \tex. } \message{glyphs,} -% and logos. - -% @@ prints an @, as does @atchar{}. -\def\@{\char64 } -\let\atchar=\@ - -% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. -% Unless we're in typewriter, use \ecfont because the CM text fonts do -% not have braces, and we don't want to switch into math. -\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} -\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} -\let\{=\mylbrace \let\lbracechar=\{ -\let\}=\myrbrace \let\rbracechar=\} -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \ptexc -\let\dotaccent = \ptexdot -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \ptext -\let\ubaraccent = \ptexb -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi - \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{% - \ifx\textnominalsize\xwordpt - % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX. - % Revert to plain's \scriptsize, which is 7pt. - \count255=\the\fam $\fam\count255 \scriptstyle A$% - \else - % For 11pt, we can use our lllsize. - \selectfonts\lllsize A% - \fi - }% - \vss - }}% - \kern-.15em - \TeX -} - -% Some math mode symbols. -\def\bullet{$\ptexbullet$} -\def\geq{\ifmmode \ge\else $\ge$\fi} -\def\leq{\ifmmode \le\else $\le$\fi} -\def\minus{\ifmmode -\else $-$\fi} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % @@ -3005,7 +2842,7 @@ end {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. @@ -3154,7 +2991,7 @@ end % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % -\ifx\Orb\thisisundefined +\ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi @@ -3182,9 +3019,8 @@ end \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue -\parseargdef\shorttitlepage{% - \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} +\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% + \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. @@ -3244,7 +3080,7 @@ end \finishedtitlepagetrue } -% Macros to be used within @titlepage: +%%% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} @@ -3277,7 +3113,7 @@ end } -% Set up page headings and footings. +%%% Set up page headings and footings. \let\thispage=\folio @@ -3371,14 +3207,10 @@ end \def\headings #1 {\csname HEADINGS#1\endcsname} -\def\headingsoff{% non-global headings elimination - \evenheadline={\hfil}\evenfootline={\hfil}% - \oddheadline={\hfil}\oddfootline={\hfil}% -} - -\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting -\HEADINGSoff % it's the default - +\def\HEADINGSoff{% +\global\evenheadline={\hfil} \global\evenfootline={\hfil} +\global\oddheadline={\hfil} \global\oddfootline={\hfil}} +\HEADINGSoff % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document @@ -3429,7 +3261,7 @@ end % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). -\ifx\today\thisisundefined +\ifx\today\undefined \def\today{% \number\day\space \ifcase\month @@ -3490,7 +3322,7 @@ end \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil\relax + \advance\rightskip by0pt plus1fil \leavevmode\unhbox0\par \endgroup % @@ -3976,18 +3808,18 @@ end \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi -% Test to see if parskip is larger than space between lines of -% table. If not, do nothing. -% If so, set to same dimension as multitablelinespace. +%% Test to see if parskip is larger than space between lines of +%% table. If not, do nothing. +%% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller - % than skip between lines in the table. +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller - % than skip between lines in the table. +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. \fi} @@ -4302,14 +4134,11 @@ end \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % - % Need these unexpandable (because we define \tt as a dummy) - % definitions when @{ or @} appear in index entry text. Also, more - % complicated, when \tex is in effect and \{ is a \delimiter again. - % We can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. Perhaps we - % should define @lbrace and @rbrace commands a la @comma. - \def\{{{\tt\char123}}% - \def\}{{\tt\char125}}% + % Need these in case \tex is in effect and \{ is a \delimiter again. + % But can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. + \let\{ = \mylbrace + \let\} = \myrbrace % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts @@ -4362,7 +4191,7 @@ end \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively - % preventing its expansion. This is used only for control words, + % preventing its expansion. This is used only for control% words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. @@ -4381,7 +4210,6 @@ end \commondummiesnofonts % \definedummyletter\_% - \definedummyletter\-% % % Non-English letters. \definedummyword\AA @@ -4418,24 +4246,20 @@ end \definedummyword\TeX % % Assorted special characters. - \definedummyword\arrow \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots - \definedummyword\entrybreak \definedummyword\equiv \definedummyword\error \definedummyword\euro - \definedummyword\expansion - \definedummyword\geq \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright - \definedummyword\leq + \definedummyword\expansion \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds @@ -4492,24 +4316,19 @@ end \definedummyword\b \definedummyword\i \definedummyword\r - \definedummyword\sansserif \definedummyword\sc - \definedummyword\slanted \definedummyword\t % % Commands that take arguments. \definedummyword\acronym - \definedummyword\anchor \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn - \definedummyword\dmn \definedummyword\email \definedummyword\emph \definedummyword\env \definedummyword\file - \definedummyword\indicateurl \definedummyword\kbd \definedummyword\key \definedummyword\math @@ -4537,7 +4356,7 @@ end \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% - % All control words become @asis by default; overrides below. + % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % \commondummiesnofonts @@ -4549,14 +4368,8 @@ end % \def\ { }% \def\@{@}% + % how to handle braces? \def\_{\normalunderscore}% - \def\-{}% @- shouldn't affect sorting - % - % Unfortunately, texindex is not prepared to handle braces in the - % content at all. So for index sorting, we map @{ and @} to strings - % starting with |, since that ASCII character is between ASCII { and }. - \def\{{|a}% - \def\}{|b}% % % Non-English letters. \def\AA{AA}% @@ -4584,7 +4397,6 @@ end % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) - \def\arrow{->}% \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% @@ -4594,12 +4406,10 @@ end \def\error{error}% \def\euro{euro}% \def\expansion{==>}% - \def\geq{>=}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% - \def\leq{<=}% \def\minus{-}% \def\point{.}% \def\pounds{pounds}% @@ -4614,9 +4424,6 @@ end \def\result{=>}% \def\textdegree{o}% % - \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax - \else \indexlquoteignore \fi - % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up @@ -4630,11 +4437,6 @@ end \macrolist } -% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us -% ignore left quotes in the sort term. -{\catcode`\`=\active - \gdef\indexlquoteignore{\let`=\empty}} - \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? @@ -4892,6 +4694,7 @@ end % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. +% % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% @@ -4928,17 +4731,10 @@ end % columns. \vskip 0pt plus1pt % - % When reading the text of entry, convert explicit line breaks - % from @* into spaces. The user might give these in long section - % titles, for instance. - \def\*{\unskip\space\ignorespaces}% - \def\entrybreak{\hfil\break}% - % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } -\def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent @@ -5171,22 +4967,7 @@ end \message{sectioning,} % Chapters, sections, etc. -% Let's start with @part. -\outer\parseargdef\part{\partzzz{#1}} -\def\partzzz#1{% - \chapoddpage - \null - \vskip.3\vsize % move it down on the page a bit - \begingroup - \noindent \titlefonts\rmisbold #1\par % the text - \let\lastnode=\empty % no node to associate with - \writetocentry{part}{#1}{}% but put it in the toc - \headingsoff % no headline or footline on the part page - \chapoddpage - \endgroup -} - -% \unnumberedno is an oxymoron. But we count the unnumbered +% \unnumberedno is an oxymoron, of course. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 @@ -5265,8 +5046,8 @@ end \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. -% To achieve this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unnlevel = \maxseclevel +% To achive this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unmlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. @@ -5291,8 +5072,8 @@ end % The heading type: \def\headtype{#1}% \if \headtype U% - \ifnum \absseclevel < \unnlevel - \chardef\unnlevel = \absseclevel + \ifnum \absseclevel < \unmlevel + \chardef\unmlevel = \absseclevel \fi \else % Check for appendix sections: @@ -5304,10 +5085,10 @@ end \fi\fi \fi % Check for numbered within unnumbered: - \ifnum \absseclevel > \unnlevel + \ifnum \absseclevel > \unmlevel \def\headtype{U}% \else - \chardef\unnlevel = 3 + \chardef\unmlevel = 3 \fi \fi % Now print the heading: @@ -5393,8 +5174,7 @@ end \global\let\subsubsection = \appendixsubsubsec } -% normally unnmhead0 calls unnumberedzzz: -\outer\parseargdef\unnumbered{\unnmhead0{#1}} +\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 @@ -5438,47 +5218,40 @@ end \let\top\unnumbered % Sections. -% \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } -% normally calls appendixsectionzzz: -\outer\parseargdef\appendixsection{\apphead1{#1}} +\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection -% normally calls unnumberedseczzz: -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. -% -% normally calls numberedsubseczzz: -\outer\parseargdef\numberedsubsec{\numhead2{#1}} +\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } -% normally calls appendixsubseczzz: -\outer\parseargdef\appendixsubsec{\apphead2{#1}} +\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } -% normally calls unnumberedsubseczzz: -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% @@ -5486,25 +5259,21 @@ end } % Subsubsections. -% -% normally numberedsubsubseczzz: -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } -% normally appendixsubsubseczzz: -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } -% normally unnumberedsubsubseczzz: -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% @@ -5554,13 +5323,14 @@ end % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. -% Args are the skip and penalty (usually negative) +%%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} +%%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) + \newskip\chapheadingskip -% Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will @@ -5570,8 +5340,9 @@ end \chappager \ifodd\pageno \else \begingroup - \headingsoff - \null + \evenheadline={\hfil}\evenfootline={\hfil}% + \oddheadline={\hfil}\oddfootline={\hfil}% + \hbox to 0pt{}% \chappager \endgroup \fi @@ -5763,8 +5534,6 @@ end % \def\sectionheading#1#2#3#4{% {% - \checkenv{}% should not be in an environment. - % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % @@ -5882,6 +5651,7 @@ end % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: + % % @section sec-whatever % @deffn def-whatever \penalty 10001 @@ -6015,7 +5785,6 @@ end \def\summarycontents{% \startcontents{\putwordShortTOC}% % - \let\partentry = \shortpartentry \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry @@ -6071,19 +5840,6 @@ end % The last argument is the page number. % The arguments in between are the chapter number, section number, ... -% Parts, in the main contents. Replace the part number, which doesn't -% exist, with an empty box. Let's hope all the numbers have the same width. -% Also ignore the page number, which is conventionally not printed. -\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} -\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} -% -% Parts, in the short toc. -\def\shortpartentry#1#2#3#4{% - \penalty-300 - \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip - \shortchapentry{{\bf #1}}{\numeralbox}{}{}% -} - % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % @@ -6173,9 +5929,9 @@ end \message{environments,} % @foo ... @end foo. -% @tex ... @end tex escapes into raw TeX temporarily. +% @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain @ character. +% But \@ or @@ will get a plain tex @ character. \envdef\tex{% \setupmarkupstyle{tex}% @@ -6192,10 +5948,6 @@ end \catcode`\'=\other \escapechar=`\\ % - % ' is active in math mode (mathcode"8000). So reset it, and all our - % other math active characters (just in case), to plain's definitions. - \mathactive - % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc @@ -6299,12 +6051,6 @@ end \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% - % - % If this cartouche directly follows a sectioning command, we need the - % \parskip glue (backspaced over by default) or the cartouche can - % collide with the section heading. - \ifnum\lastpenalty>10000 \vskip\parskip \fi - % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop @@ -6318,7 +6064,7 @@ end \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip - \comment % For explanation, see the end of def\group. + \comment % For explanation, see the end of \def\group. } \def\Ecartouche{% \ifhmode\par\fi @@ -6404,42 +6150,41 @@ end } % We often define two environments, @foo and @smallfoo. -% Let's do it in one command. #1 is the env name, #2 the definition. -\def\makedispenvdef#1#2{% - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% +% Let's do it by one command: +\def\makedispenv #1#2{ + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } -% Define two environment synonyms (#1 and #2) for an environment. -\def\maketwodispenvdef#1#2#3{% - \makedispenvdef{#1}{#3}% - \makedispenvdef{#2}{#3}% +% Define two synonyms: +\def\maketwodispenvs #1#2#3{ + \makedispenv{#1}{#3} + \makedispenv{#2}{#3} } -% -% @lisp: indented, narrowed, typewriter font; -% @example: same as @lisp. + +% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % -\maketwodispenvdef{lisp}{example}{% +\maketwodispenvs {lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return + \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % -\makedispenvdef{display}{% +\makedispenv {display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % -\makedispenvdef{format}{% +\makedispenv{format}{% \let\nonarrowing = t% \nonfillstart \gobble @@ -6458,7 +6203,7 @@ end \envdef\flushright{% \let\nonarrowing = t% \nonfillstart - \advance\leftskip by 0pt plus 1fill\relax + \advance\leftskip by 0pt plus 1fill \gobble } \let\Eflushright = \afterenvbreak @@ -6493,8 +6238,6 @@ end % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % -\makedispenvdef{quotation}{\quotationstart} -% \def\quotationstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt @@ -6510,18 +6253,28 @@ end \parsearg\quotationlabel } +\envdef\quotation{% + \setnormaldispenv + \quotationstart +} + +\envdef\smallquotation{% + \setsmalldispenv + \quotationstart +} +\let\Esmallquotation = \Equotation + % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par - \ifx\quotationauthor\thisisundefined\else + \ifx\quotationauthor\undefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } -\def\Esmallquotation{\Equotation} % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% @@ -6578,28 +6331,21 @@ end % Setup for the @verbatim environment % -% Real tab expansion. +% Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % -% We typeset each line of the verbatim in an \hbox, so we can handle -% tabs. The \global is in case the verbatim line starts with an accent, -% or some other command that starts with a begin-group. Otherwise, the -% entire \verbbox would disappear at the corresponding end-group, before -% it is typeset. Meanwhile, we can't have nested verbatim commands -% (can we?), so the \global won't be overwriting itself. -\newbox\verbbox -\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} +\def\starttabbox{\setbox0=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup - \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab - \divide\dimen\verbbox by\tabw - \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw - \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw - \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox + \dimen0=\wd0 % the width so far, or since the previous tab + \divide\dimen0 by\tabw + \multiply\dimen0 by\tabw % compute previous multiple of \tabw + \advance\dimen0 by\tabw % advance to next multiple of \tabw + \wd0=\dimen0 \box0 \starttabbox }% } \endgroup @@ -6608,16 +6354,15 @@ end \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart - \tt % easiest (and conventionally used) font for verbatim - % The \leavevmode here is for blank lines. Otherwise, we would - % never \starttabox and the \egroup would end verbatim mode. - \def\par{\leavevmode\egroup\box\verbbox\endgraf}% + % Easiest (and conventionally used) font for verbatim + \tt + \def\par{\leavevmode\egroup\box0\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and - % make each space count. - % Must do in this order: + % make each space count + % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } @@ -6674,7 +6419,6 @@ end \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. - \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% \input #1 \afterenvbreak }% @@ -6724,7 +6468,7 @@ end % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % - % As a further refinement, we avoid "club" headers by signalling + % As a minor refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. @@ -6761,7 +6505,7 @@ end #1#2 \endheader % common ending: \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil\relax + \advance\rightskip by 0pt plus 1fil \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx @@ -6791,36 +6535,13 @@ end \def\domakedefun#1#2#3{% \envdef#1{% \startdefun - \doingtypefnfalse % distinguish typed functions from all else \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } -\newif\ifdoingtypefn % doing typed function? -\newif\ifrettypeownline % typeset return type on its own line? - -% @deftypefnnewline on|off says whether the return type of typed functions -% are printed on their own line. This affects @deftypefn, @deftypefun, -% @deftypeop, and @deftypemethod. -% -\parseargdef\deftypefnnewline{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxideftypefnnl\endcsname - = \empty - \else\ifx\temp\offword - \expandafter\let\csname SETtxideftypefnnl\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @txideftypefnnl value `\temp', - must be on|off}% - \fi\fi -} - -% Untyped functions: +%%% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} @@ -6839,7 +6560,7 @@ end \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } -% Typed functions: +%%% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} @@ -6854,11 +6575,10 @@ end % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% - \doingtypefntrue \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -% Typed variables: +%%% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} @@ -6876,7 +6596,7 @@ end \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -% Untyped variables: +%%% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } @@ -6887,8 +6607,7 @@ end % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } -% Types: - +%%% Type: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% @@ -6916,49 +6635,25 @@ end % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% - \par % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % - % Determine if we are typesetting the return type of a typed function - % on a line by itself. - \rettypeownlinefalse - \ifdoingtypefn % doing a typed function specifically? - % then check user option for putting return type on its own line: - \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else - \rettypeownlinetrue - \fi - \fi - % - % How we'll format the category name. Putting it in brackets helps + % How we'll format the type name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % - % Figure out line sizes for the paragraph shape. We'll always have at - % least two. - \tempnum = 2 - % + % Figure out line sizes for the paragraph shape. % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip - % - % If doing a return type on its own line, we'll have another line. - \ifrettypeownline - \advance\tempnum by 1 - \def\maybeshapeline{0in \hsize}% - \else - \def\maybeshapeline{}% - \fi - % % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent + % (plain.tex says that \dimen1 should be used only as global.) + \parshape 2 0in \dimen0 \defargsindent \dimen2 % - % The final paragraph shape: - \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 - % - % Put the category name at the right margin. + % Put the type name to the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize @@ -6980,16 +6675,8 @@ end % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt - \def\temp{#2}% text of the return type - \ifx\temp\empty\else - \tclose{\temp}% typeset the return type - \ifrettypeownline - % put return type on its own line; prohibit line break following: - \hfil\vadjust{\nobreak}\break - \else - \space % type on same line, so just followed by a space - \fi - \fi % no return type + \def\temp{#2}% return value type + \ifx\temp\empty\else \tclose{\temp} \fi #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm @@ -7107,7 +6794,7 @@ end % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\thisisundefined +\ifx\eTeXversion\undefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% @@ -7118,30 +6805,25 @@ end } \fi -\def\scanmacro#1{\begingroup - \newlinechar`\^^M - \let\xeatspaces\eatspaces - % - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % - % ... and for \example: - \spaceisspace - % - % The \empty here causes a following catcode 5 newline to be eaten as - % part of reading whitespace after a control sequence. It does not - % eat a catcode 13 newline. There's no good way to handle the two - % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX - % would then have different behavior). See the Macro Details node in - % the manual for the workaround we recommend for macros and - % line-oriented commands. - % - \scantokens{#1\empty}% -\endgroup} +\def\scanmacro#1{% + \begingroup + \newlinechar`\^^M + \let\xeatspaces\eatspaces + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ + % ... and \example + \spaceisspace + % + % Append \endinput to make sure that TeX does not see the ending newline. + % I've verified that it is necessary both for e-TeX and for ordinary TeX + % --kasal, 29nov03 + \scantokens{#1\endinput}% + \endgroup +} \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% @@ -7195,18 +6877,17 @@ end % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \ -% to recognize macro arguments; this is the job of \mbodybackslash. -% +% (as in normal texinfo). It is necessary to change the definition of \. + % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. -% + % It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro +% done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. -% -\def\scanctxt{% used as subroutine + +\def\scanctxt{% \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other @@ -7219,13 +6900,13 @@ end \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } -\def\scanargctxt{% used for copying and captions, not macros. +\def\scanargctxt{% \scanctxt \catcode`\\=\other \catcode`\^^M=\other } -\def\macrobodyctxt{% used for @macro definitions +\def\macrobodyctxt{% \scanctxt \catcode`\{=\other \catcode`\}=\other @@ -7233,56 +6914,32 @@ end \usembodybackslash } -\def\macroargctxt{% used when scanning invocations +\def\macroargctxt{% \scanctxt - \catcode`\\=0 + \catcode`\\=\other } -% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" -% for the single characters \ { }. Thus, we end up with the "commands" -% that would be written @\ @{ @} in a Texinfo document. -% -% We already have @{ and @}. For @\, we define it here, and only for -% this purpose, to produce a typewriter backslash (so, the @\ that we -% define for @math can't be used with @macro calls): -% -\def\\{\normalbackslash}% -% -% We would like to do this for \, too, since that is what makeinfo does. -% But it is not possible, because Texinfo already has a command @, for a -% cedilla accent. Documents must use @comma{} instead. -% -% \anythingelse will almost certainly be an error of some kind. - % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. -% + {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} -\def\margbackslash#1{\char`\#1 } - \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist + \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments - \paramno=0\relax + \paramno=0% \else \expandafter\parsemargdef \argl;% - \if\paramno>256\relax - \ifx\eTeXversion\thisisundefined - \errhelp = \EMsimple - \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} - \fi - \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% @@ -7329,269 +6986,46 @@ end % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname#1 #2\relax{\macname={#1}} +\def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} -% For macro processing make @ a letter so that we can make Texinfo private macro names. -\edef\texiatcatcode{\the\catcode`\@} -\catcode `@=11\relax - % Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH -% in the params list to some hook where the argument si to be expanded. If -% there are less than 10 arguments that hook is to be replaced by ##N where N -% is the position in that list, that is to say the macro arguments are to be -% defined `a la TeX in the macro body. -% +% so \defmacro knows what to do. Define \macarg.blah for each blah +% in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). -% + % We need to get `macro parameter char #' into several definitions. -% The technique used is stolen from LaTeX: let \hash be something +% The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. -% -% If there are 10 or more arguments, a different technique is used, where the -% hook remains in the body, and when macro is to be expanded the body is -% processed again to replace the arguments. -% -% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the -% argument N value and then \edef the body (nothing else will expand because of -% the catcode regime underwhich the body was input). -% -% If you compile with TeX (not eTeX), and you have macros with 10 or more -% arguments, you need that no macro has more than 256 arguments, otherwise an -% error is produced. -\def\parsemargdef#1;{% - \paramno=0\def\paramlist{}% - \let\hash\relax - \let\xeatspaces\relax - \parsemargdefxxx#1,;,% - % In case that there are 10 or more arguments we parse again the arguments - % list to set new definitions for the \macarg.BLAH macros corresponding to - % each BLAH argument. It was anyhow needed to parse already once this list - % in order to count the arguments, and as macros with at most 9 arguments - % are by far more frequent than macro with 10 or more arguments, defining - % twice the \macarg.BLAH macros does not cost too much processing power. - \ifnum\paramno<10\relax\else - \paramno0\relax - \parsemmanyargdef@@#1,;,% 10 or more arguments - \fi -} + +\def\parsemargdef#1;{\paramno=0\def\paramlist{}% + \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx - \advance\paramno by 1 + \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} -\def\parsemmanyargdef@@#1,{% - \if#1;\let\next=\relax - \else - \let\next=\parsemmanyargdef@@ - \edef\tempb{\eatspaces{#1}}% - \expandafter\def\expandafter\tempa - \expandafter{\csname macarg.\tempb\endcsname}% - % Note that we need some extra \noexpand\noexpand, this is because we - % don't want \the to be expanded in the \parsermacbody as it uses an - % \xdef . - \expandafter\edef\tempa - {\noexpand\noexpand\noexpand\the\toks\the\paramno}% - \advance\paramno by 1\relax - \fi\next} - % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) -% -\catcode `\@\texiatcatcode \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% -\catcode `\@=11\relax - -\let\endargs@\relax -\let\nil@\relax -\def\nilm@{\nil@}% -\long\def\nillm@{\nil@}% - -% This macro is expanded during the Texinfo macro expansion, not during its -% definition. It gets all the arguments values and assigns them to macros -% macarg.ARGNAME -% -% #1 is the macro name -% #2 is the list of argument names -% #3 is the list of argument values -\def\getargvals@#1#2#3{% - \def\macargdeflist@{}% - \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. - \def\paramlist{#2,\nil@}% - \def\macroname{#1}% - \begingroup - \macroargctxt - \def\argvaluelist{#3,\nil@}% - \def\@tempa{#3}% - \ifx\@tempa\empty - \setemptyargvalues@ - \else - \getargvals@@ - \fi -} - -% -\def\getargvals@@{% - \ifx\paramlist\nilm@ - % Some sanity check needed here that \argvaluelist is also empty. - \ifx\argvaluelist\nillm@ - \else - \errhelp = \EMsimple - \errmessage{Too many arguments in macro `\macroname'!}% - \fi - \let\next\macargexpandinbody@ - \else - \ifx\argvaluelist\nillm@ - % No more arguments values passed to macro. Set remaining named-arg - % macros to empty. - \let\next\setemptyargvalues@ - \else - % pop current arg name into \@tempb - \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% - \expandafter\@tempa\expandafter{\paramlist}% - % pop current argument value into \@tempc - \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% - \expandafter\@tempa\expandafter{\argvaluelist}% - % Here \@tempb is the current arg name and \@tempc is the current arg value. - % First place the new argument macro definition into \@tempd - \expandafter\macname\expandafter{\@tempc}% - \expandafter\let\csname macarg.\@tempb\endcsname\relax - \expandafter\def\expandafter\@tempe\expandafter{% - \csname macarg.\@tempb\endcsname}% - \edef\@tempd{\long\def\@tempe{\the\macname}}% - \push@\@tempd\macargdeflist@ - \let\next\getargvals@@ - \fi - \fi - \next -} - -\def\push@#1#2{% - \expandafter\expandafter\expandafter\def - \expandafter\expandafter\expandafter#2% - \expandafter\expandafter\expandafter{% - \expandafter#1#2}% -} - -% Replace arguments by their values in the macro body, and place the result -% in macro \@tempa -\def\macvalstoargs@{% - % To do this we use the property that token registers that are \the'ed - % within an \edef expand only once. So we are going to place all argument - % values into respective token registers. - % - % First we save the token context, and initialize argument numbering. - \begingroup - \paramno0\relax - % Then, for each argument number #N, we place the corresponding argument - % value into a new token list register \toks#N - \expandafter\putargsintokens@\saveparamlist@,;,% - % Then, we expand the body so that argument are replaced by their - % values. The trick for values not to be expanded themselves is that they - % are within tokens and that tokens expand only once in an \edef . - \edef\@tempc{\csname mac.\macroname .body\endcsname}% - % Now we restore the token stack pointer to free the token list registers - % which we have used, but we make sure that expanded body is saved after - % group. - \expandafter - \endgroup - \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% - } - -\def\macargexpandinbody@{% - %% Define the named-macro outside of this group and then close this group. - \expandafter - \endgroup - \macargdeflist@ - % First the replace in body the macro arguments by their values, the result - % is in \@tempa . - \macvalstoargs@ - % Then we point at the \norecurse or \gobble (for recursive) macro value - % with \@tempb . - \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname - % Depending on whether it is recursive or not, we need some tailing - % \egroup . - \ifx\@tempb\gobble - \let\@tempc\relax - \else - \let\@tempc\egroup - \fi - % And now we do the real job: - \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% - \@tempd -} - -\def\putargsintokens@#1,{% - \if#1;\let\next\relax - \else - \let\next\putargsintokens@ - % First we allocate the new token list register, and give it a temporary - % alias \@tempb . - \toksdef\@tempb\the\paramno - % Then we place the argument value into that token list register. - \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname - \expandafter\@tempb\expandafter{\@tempa}% - \advance\paramno by 1\relax - \fi - \next -} - -% Save the token stack pointer into macro #1 -\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} -% Restore the token stack pointer from number in macro #1 -\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} -% newtoks that can be used non \outer . -\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} - -% Tailing missing arguments are set to empty -\def\setemptyargvalues@{% - \ifx\paramlist\nilm@ - \let\next\macargexpandinbody@ - \else - \expandafter\setemptyargvaluesparser@\paramlist\endargs@ - \let\next\setemptyargvalues@ - \fi - \next -} -\def\setemptyargvaluesparser@#1,#2\endargs@{% - \expandafter\def\expandafter\@tempa\expandafter{% - \expandafter\def\csname macarg.#1\endcsname{}}% - \push@\@tempa\macargdeflist@ - \def\paramlist{#2}% -} - -% #1 is the element target macro -% #2 is the list macro -% #3,#4\endargs@ is the list value -\def\pop@#1#2#3,#4\endargs@{% - \def#1{#3}% - \def#2{#4}% -} -\long\def\longpop@#1#2#3,#4\endargs@{% - \long\def#1{#3}% - \long\def#2{#4}% -} - -% This defines a Texinfo @macro. There are eight cases: recursive and -% nonrecursive macros of zero, one, up to nine, and many arguments. +% This defines the macro itself. There are six cases: recursive and +% nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. -% \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive @@ -7606,25 +7040,17 @@ end \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% - \else - \ifnum\paramno<10\relax % at most 9 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% - \else % 10 or more - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\getargvals@{\the\macname}{\argl}% - }% - \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp - \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble - \fi + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno @@ -7641,40 +7067,29 @@ end \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% - \else % at most 9 - \ifnum\paramno<10\relax - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \else % 10 or more: - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\getargvals@{\the\macname}{\argl}% - }% - \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp - \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse - \fi + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% \fi \fi} -\catcode `\@\texiatcatcode\relax - \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg). -% +% as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else @@ -7684,8 +7099,7 @@ end % @alias. % We need some trickery to remove the optional spaces around the equal -% sign. Make them active and then expand them all to nothing. -% +% sign. Just make them active and then expand them all to nothing. \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% @@ -7706,8 +7120,7 @@ end % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{% - \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, +\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in @@ -7768,32 +7181,11 @@ end \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout + \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } -% @xrefautosectiontitle on|off says whether @section(ing) names are used -% automatically in xrefs, if the third arg is not explicitly specified. -% This was provided as a "secret" @set xref-automatic-section-title -% variable, now it's official. -% -\parseargdef\xrefautomaticsectiontitle{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETxref-automatic-section-title\endcsname - = \empty - \else\ifx\temp\offword - \expandafter\let\csname SETxref-automatic-section-title\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', - must be on|off}% - \fi\fi -} - - % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -7810,7 +7202,7 @@ end \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax + \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else @@ -7839,8 +7231,9 @@ end % etc. don't get their TeX definitions. \getfilename{#4}% % - \edef\pdfxrefdest{#1}% - \txiescapepdf\pdfxrefdest + % See comments at \activebackslashdouble. + {\activebackslashdouble \xdef\pdfxrefdest{#1}% + \backslashparens\pdfxrefdest}% % \leavevmode \startlink attr{/Border [0 0 0]}% @@ -7964,8 +7357,7 @@ end \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs - {\toks0 = {#1}% avoid expansion of possibly-complex value - \message{\linenumber Undefined cross reference `\the\toks0'.}}% + \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue @@ -8129,7 +7521,7 @@ end % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } -% @footnotestyle is meaningful for Info output only. +% @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment {\catcode `\@=11 @@ -8192,8 +7584,6 @@ end % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut - % - % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 @@ -8281,7 +7671,7 @@ end it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% - \ifx\epsfbox\thisiundefined + \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% @@ -8297,7 +7687,7 @@ end % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing stuff. +% #6 is just the usual extra ignored arg for parsing this stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example @@ -8746,7 +8136,7 @@ directory should work if nowhere else does.} % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% - \gdef^^a0{\tie} + \gdef^^a0{~} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} @@ -8776,7 +8166,7 @@ directory should work if nowhere else does.} \gdef^^b9{$^1$} \gdef^^ba{\ordm} % - \gdef^^bb{\guillemetright} + \gdef^^bb{\guilletright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} @@ -8868,7 +8258,7 @@ directory should work if nowhere else does.} % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% - \gdef^^a0{\tie} + \gdef^^a0{~} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} @@ -8949,8 +8339,8 @@ directory should work if nowhere else does.} \gdef^^ea{\ogonek{e}} \gdef^^eb{\"e} \gdef^^ec{\v e} - \gdef^^ed{\'{\dotless{i}}} - \gdef^^ee{\^{\dotless{i}}} + \gdef^^ed{\'\i} + \gdef^^ee{\^\i} \gdef^^ef{\v d} % \gdef^^f0{\dh} @@ -9041,7 +8431,7 @@ directory should work if nowhere else does.} \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax - %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% + \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% @@ -9509,8 +8899,8 @@ directory should work if nowhere else does.} % Prevent underfull vbox error messages. \vbadness = 10000 -% Don't be very finicky about underfull hboxes, either. -\hbadness = 6666 +% Don't be so finicky about underfull hboxes, either. +\hbadness = 2000 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 @@ -9717,21 +9107,28 @@ directory should work if nowhere else does.} \message{and turning on texinfo input format.} -\def^^L{\par} % remove \outer, so ^L can appear in an @comment - % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. -\catcode`\"=\other \def\normaldoublequote{"} -\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix -\catcode`\+=\other \def\normalplus{+} -\catcode`\<=\other \def\normalless{<} -\catcode`\>=\other \def\normalgreater{>} -\catcode`\^=\other \def\normalcaret{^} -\catcode`\_=\other \def\normalunderscore{_} -\catcode`\|=\other \def\normalverticalbar{|} -\catcode`\~=\other \def\normaltilde{~} +\catcode`\"=\other +\catcode`\~=\other +\catcode`\^=\other +\catcode`\_=\other +\catcode`\|=\other +\catcode`\<=\other +\catcode`\>=\other +\catcode`\+=\other +\catcode`\$=\other +\def\normaldoublequote{"} +\def\normaltilde{~} +\def\normalcaret{^} +\def\normalunderscore{_} +\def\normalverticalbar{|} +\def\normalless{<} +\def\normalgreater{>} +\def\normalplus{+} +\def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, @@ -9809,24 +9206,14 @@ directory should work if nowhere else does.} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. -\catcode`\\=\active % @ for escape char from now on. - -% The story here is that in math mode, the \char of \backslashcurfont -% ends up printing the roman \ from the math symbol font (because \char -% in math mode uses the \mathcode, and plain.tex sets -% \mathcode`\\="026E). It seems better for @backslashchar{} to always -% print a typewriter backslash, hence we use an explicit \mathchar, -% which is the decimal equivalent of "715c (class 7, e.g., use \fam; -% ignored family value; char position "5C). We can't use " for the -% usual hex value because it has already been made active. -@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} -@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents. - +\catcode`\\=\active +@def@normalbackslash{{@tt@backslashcurfont}} % On startup, @fixbackslash assigns: % @let \ = @normalbackslash + % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. We switch back and forth between these. +% catcode other. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} @@ -9834,16 +9221,16 @@ directory should work if nowhere else does.} % the literal character `\'. % @def@normalturnoffactive{% - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater @let\=@normalbackslash + @let"=@normaldoublequote + @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar - @let~=@normaltilde + @let<=@normalless + @let>=@normalgreater + @let+=@normalplus + @let$=@normaldollar %$ font-lock fix @markupsetuplqdefault @markupsetuprqdefault @unsepspaces @@ -9875,19 +9262,10 @@ directory should work if nowhere else does.} % Say @foo, not \foo, in error messages. @escapechar = `@@ -% These (along with & and #) are made active for url-breaking, so need -% active definitions as the normal characters. -@def@normaldot{.} -@def@normalquest{?} -@def@normalslash{/} - % These look ok in all fonts, so just make them not special. -% @hashchar{} gets its own user-level command, because of #line. -@catcode`@& = @other @def@normalamp{&} -@catcode`@# = @other @def@normalhash{#} -@catcode`@% = @other @def@normalpercent{%} - -@let @hashchar = @normalhash +@catcode`@& = @other +@catcode`@# = @other +@catcode`@% = @other @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in index 1d5d02fe6b7..d7782186116 100644 --- a/libjava/classpath/examples/Makefile.in +++ b/libjava/classpath/examples/Makefile.in @@ -41,9 +41,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -62,7 +59,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -193,6 +192,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in index cd03f679553..3de327506de 100644 --- a/libjava/classpath/external/Makefile.in +++ b/libjava/classpath/external/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -208,6 +207,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in index 55f05841eb5..2b48838b79f 100644 --- a/libjava/classpath/external/jsr166/Makefile.in +++ b/libjava/classpath/external/jsr166/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in index 41430c160b4..a18308d2d74 100644 --- a/libjava/classpath/external/relaxngDatatype/Makefile.in +++ b/libjava/classpath/external/relaxngDatatype/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in index 774243663c7..5a2a9123ccc 100644 --- a/libjava/classpath/external/sax/Makefile.in +++ b/libjava/classpath/external/sax/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java index 96dcf6779b7..42dfe01dc2b 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java @@ -1,7 +1,7 @@ // EntityResolver2.java - Extended SAX entity resolver. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: EntityResolver2.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ +// $Id: EntityResolver2.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java index d3c7511144f..a73e8a4ee94 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java @@ -1,7 +1,7 @@ // Locator2Impl.java - extended LocatorImpl // http://www.saxproject.org // Public Domain: no warranty. -// $Id: Locator2Impl.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ +// $Id: Locator2Impl.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java index 8ab909a7754..24238e2f3b5 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: XMLReaderAdapter.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ +// $Id: XMLReaderAdapter.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in index 76daadb2c22..4c65e720306 100644 --- a/libjava/classpath/external/w3c_dom/Makefile.in +++ b/libjava/classpath/external/w3c_dom/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/gnu/java/nio/FileLockImpl.java b/libjava/classpath/gnu/java/nio/FileLockImpl.java index e714ea358e5..0c6e4685cc3 100644 --- a/libjava/classpath/gnu/java/nio/FileLockImpl.java +++ b/libjava/classpath/gnu/java/nio/FileLockImpl.java @@ -88,6 +88,11 @@ public final class FileLockImpl extends FileLock return valid; } + public void close() throws Exception + { + release(); + } + /** * Releases the lock if it is still valid. Marks this lock as invalid. */ diff --git a/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java b/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java index 2a89ae0972e..3633be92017 100644 --- a/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java +++ b/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java @@ -1,5 +1,5 @@ /* AttributedFormatBuffer.java -- Implements an attributed FormatBuffer. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,10 @@ import gnu.java.lang.CPStringBuilder; import java.text.AttributedCharacterIterator; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static java.text.AttributedCharacterIterator.Attribute; /** * This class is an implementation of a FormatBuffer with attributes. @@ -53,12 +57,12 @@ import java.util.HashMap; public class AttributedFormatBuffer implements FormatBuffer { private final CPStringBuilder buffer; - private final ArrayList ranges; - private final ArrayList attributes; - private int[] a_ranges; - private HashMap[] a_attributes; + private final ArrayList<Integer> ranges; + private final ArrayList<Map<Attribute,Object>> attributes; + private int[] aRanges; + private List<Map<Attribute,Object>> aAttributes; private int startingRange; - AttributedCharacterIterator.Attribute defaultAttr; + Attribute defaultAttr; /** * This constructor accepts a StringBuffer. If the buffer contains @@ -67,8 +71,8 @@ public class AttributedFormatBuffer implements FormatBuffer public AttributedFormatBuffer(CPStringBuilder buffer) { this.buffer = new CPStringBuilder(buffer); - this.ranges = new ArrayList(); - this.attributes = new ArrayList(); + this.ranges = new ArrayList<Integer>(); + this.attributes = new ArrayList<Map<Attribute,Object>>(); this.defaultAttr = null; if (buffer.length() != 0) { @@ -94,23 +98,23 @@ public class AttributedFormatBuffer implements FormatBuffer * and attributes it adds exactly one attribute for the range of characters * comprised between the last entry in 'ranges' and the specified new range. * - * @param new_range A new range to insert in the list. + * @param newRange A new range to insert in the list. * @param attr A new attribute to insert in the list. */ - private final void addAttribute(int new_range, AttributedCharacterIterator.Attribute attr) + private final void addAttribute(int newRange, Attribute attr) { - HashMap map; + Map<Attribute,Object> map; if (attr != null) { - map = new HashMap(); + map = new HashMap<Attribute,Object>(); map.put(attr, attr); attributes.add(map); } else attributes.add(null); - ranges.add(new Integer(new_range)); + ranges.add(Integer.valueOf(newRange)); } public void append(String s) @@ -120,7 +124,7 @@ public class AttributedFormatBuffer implements FormatBuffer buffer.append(s); } - public void append(String s, AttributedCharacterIterator.Attribute attr) + public void append(String s, Attribute attr) { setDefaultAttribute(attr); startingRange = buffer.length(); @@ -128,7 +132,7 @@ public class AttributedFormatBuffer implements FormatBuffer setDefaultAttribute(null); } - public void append(String s, int[] ranges, HashMap[] attrs) + public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs) { int curPos = buffer.length(); @@ -137,8 +141,8 @@ public class AttributedFormatBuffer implements FormatBuffer { for (int i = 0; i < ranges.length; i++) { - this.ranges.add(new Integer(ranges[i] + curPos)); - this.attributes.add(attrs[i]); + this.ranges.add(Integer.valueOf(ranges[i] + curPos)); + this.attributes.add(attrs.get(i)); } } startingRange = buffer.length(); @@ -152,14 +156,14 @@ public class AttributedFormatBuffer implements FormatBuffer buffer.append(c); } - public void append(char c, AttributedCharacterIterator.Attribute attr) + public void append(char c, Attribute attr) { setDefaultAttribute(attr); buffer.append(c); setDefaultAttribute(null); } - public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr) + public void setDefaultAttribute(Attribute attr) { if (attr == defaultAttr) return; @@ -174,7 +178,7 @@ public class AttributedFormatBuffer implements FormatBuffer startingRange = currentPos; } - public AttributedCharacterIterator.Attribute getDefaultAttribute() + public Attribute getDefaultAttribute() { return defaultAttr; } @@ -209,12 +213,11 @@ public class AttributedFormatBuffer implements FormatBuffer addAttribute(buffer.length(), defaultAttr); - a_ranges = new int[ranges.size()]; - for (int i = 0; i < a_ranges.length; i++) - a_ranges[i] = ((Integer)(ranges.get (i))).intValue(); + aRanges = new int[ranges.size()]; + for (int i = 0; i < aRanges.length; i++) + aRanges[i] = ranges.get (i).intValue(); - a_attributes = new HashMap[attributes.size()]; - System.arraycopy(attributes.toArray(), 0, a_attributes, 0, a_attributes.length); + aAttributes = new ArrayList<Map<Attribute,Object>>(attributes); } /** @@ -235,17 +238,17 @@ public class AttributedFormatBuffer implements FormatBuffer */ public int[] getRanges() { - return a_ranges; + return aRanges; } /** * This method returns the array containing the map on the * attributes. * - * @return An array of {@link java.util.Map} containing the attributes. + * @return A {@link java.util.List} of {@link java.util.Map}s containing the attributes. */ - public HashMap[] getAttributes() + public List<Map<Attribute,Object>> getAttributes() { - return a_attributes; + return aAttributes; } } diff --git a/libjava/classpath/gnu/java/text/FormatBuffer.java b/libjava/classpath/gnu/java/text/FormatBuffer.java index 590b16cce23..2922897ee1f 100644 --- a/libjava/classpath/gnu/java/text/FormatBuffer.java +++ b/libjava/classpath/gnu/java/text/FormatBuffer.java @@ -1,5 +1,5 @@ /* FormatBuffer.java -- General interface to build attributed strings. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,7 +37,10 @@ exception statement from your version. */ package gnu.java.text; import java.text.AttributedCharacterIterator; -import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static java.text.AttributedCharacterIterator.Attribute; /** * This interface describes a modifiable buffer which contains attributed @@ -67,7 +70,7 @@ public interface FormatBuffer * @param s The string to append to the buffer. * @param attr Attribute to use for the string in the buffer. */ - public void append(String s, AttributedCharacterIterator.Attribute attr); + public void append(String s, Attribute attr); /** * This method appends a simple string to the buffer. This part of @@ -79,7 +82,7 @@ public interface FormatBuffer * to the string. * @param attrs The attributes of the string in the buffer. */ - public void append(String s, int[] ranges, HashMap[] attrs); + public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs); /** * This method appends a simple char to the buffer. This part of @@ -97,7 +100,7 @@ public interface FormatBuffer * @param c The character to append to the buffer. * @param attr Attribute to use for the character in the buffer. */ - public void append(char c, AttributedCharacterIterator.Attribute attr); + public void append(char c, Attribute attr); /** * This method changes the current default attribute for the next string @@ -105,14 +108,14 @@ public interface FormatBuffer * * @param attr The attribute which will be used by default. */ - public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr); + public void setDefaultAttribute(Attribute attr); /** * This method returns the current default attribute for the buffer. * * @return The default attribute for the buffer. */ - public AttributedCharacterIterator.Attribute getDefaultAttribute(); + public Attribute getDefaultAttribute(); /** * This method cuts the last characters of the buffer. The number of diff --git a/libjava/classpath/gnu/java/text/FormatCharacterIterator.java b/libjava/classpath/gnu/java/text/FormatCharacterIterator.java index 889394ca451..677d4d3b91a 100644 --- a/libjava/classpath/gnu/java/text/FormatCharacterIterator.java +++ b/libjava/classpath/gnu/java/text/FormatCharacterIterator.java @@ -1,6 +1,6 @@ /* FormatCharacter.java -- Implementation of AttributedCharacterIterator for formatters. - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,12 +38,15 @@ exception statement from your version. */ package gnu.java.text; import java.text.AttributedCharacterIterator; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set; -import java.util.Vector; + +import static java.text.AttributedCharacterIterator.Attribute; /** * This class should not be put public and it is only intended to the @@ -62,7 +65,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator private int charIndex; private int attributeIndex; private int[] ranges; - private HashMap[] attributes; + private List<Map<Attribute,Object>> attributes; private static final boolean DEBUG = false; /** @@ -74,7 +77,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator { formattedString = ""; ranges = new int[0]; - attributes = new HashMap[0]; + attributes = new ArrayList<Map<Attribute,Object>>(0); } /** @@ -87,12 +90,13 @@ public class FormatCharacterIterator implements AttributedCharacterIterator * <pre> * s = "hello"; * ranges = new int[] { 2, 6 }; - * attributes = new HashMap[2]; + * attributes = new ArrayList<Map<Attribute,Object>>(2); * </pre> - * <code>"he"</code> will have the attributes <code>attributes[0]</code>, - * <code>"llo"</code> the <code>attributes[1]</code>. + * <code>"he"</code> will have the attributes <code>attributes.get(0)</code>, + * <code>"llo"</code> the <code>attributes.get(1)</code>. */ - public FormatCharacterIterator (String s, int[] ranges, HashMap[] attributes) + public FormatCharacterIterator (String s, int[] ranges, + List<Map<Attribute,Object>> attributes) { formattedString = s; this.ranges = ranges; @@ -104,55 +108,57 @@ public class FormatCharacterIterator implements AttributedCharacterIterator * and thus are already documented. */ - public Set getAllAttributeKeys() + public Set<Attribute> getAllAttributeKeys() { - if (attributes != null && attributes[attributeIndex] != null) - return attributes[attributeIndex].keySet(); + if (attributes != null && attributes.get(attributeIndex) != null) + return attributes.get(attributeIndex).keySet(); else - return new HashSet(); + return new HashSet<Attribute>(); } - public Map getAttributes() + public Map<Attribute,Object> getAttributes() { - if (attributes != null && attributes[attributeIndex] != null) - return attributes[attributeIndex]; + if (attributes != null && attributes.get(attributeIndex) != null) + return attributes.get(attributeIndex); else - return new HashMap(); + return new HashMap<Attribute,Object>(); } - public Object getAttribute (AttributedCharacterIterator.Attribute attrib) + public Object getAttribute (Attribute attrib) { - if (attributes != null && attributes[attributeIndex] != null) - return attributes[attributeIndex].get (attrib); + if (attributes != null && attributes.get(attributeIndex) != null) + return attributes.get(attributeIndex).get (attrib); else return null; } - public int getRunLimit(Set reqAttrs) + public int getRunLimit(Set<? extends Attribute> reqAttrs) { if (attributes == null) return formattedString.length(); int currentAttrIndex = attributeIndex; - Set newKeys; + Set<Attribute> newKeys; do { currentAttrIndex++; - if (currentAttrIndex == attributes.length) + if (currentAttrIndex == attributes.size()) return formattedString.length(); - if (attributes[currentAttrIndex] == null) + Map<Attribute,Object> currentAttr = + attributes.get(currentAttrIndex); + if (currentAttr == null) break; - newKeys = attributes[currentAttrIndex].keySet(); + newKeys = currentAttr.keySet(); } while (newKeys.containsAll (reqAttrs)); return ranges[currentAttrIndex-1]; } - public int getRunLimit (AttributedCharacterIterator.Attribute attribute) + public int getRunLimit (Attribute attribute) { - Set s = new HashSet(); + Set<Attribute> s = new HashSet<Attribute>(); s.add (attribute); return getRunLimit (s); @@ -162,24 +168,24 @@ public class FormatCharacterIterator implements AttributedCharacterIterator { if (attributes == null) return formattedString.length(); - if (attributes[attributeIndex] == null) + if (attributes.get(attributeIndex) == null) { - for (int i=attributeIndex+1;i<attributes.length;i++) - if (attributes[i] != null) + for (int i=attributeIndex+1;i<attributes.size();i++) + if (attributes.get(i) != null) return ranges[i-1]; return formattedString.length(); } - return getRunLimit (attributes[attributeIndex].keySet()); + return getRunLimit (attributes.get(attributeIndex).keySet()); } - public int getRunStart (Set reqAttrs) + public int getRunStart (Set<? extends Attribute> reqAttrs) { if (attributes == null) return formattedString.length(); int currentAttrIndex = attributeIndex; - Set newKeys = null; + Set<Attribute> newKeys = null; do { @@ -187,9 +193,11 @@ public class FormatCharacterIterator implements AttributedCharacterIterator return 0; currentAttrIndex--; - if (attributes[currentAttrIndex] == null) + Map<Attribute,Object> currentAttr = + attributes.get(currentAttrIndex); + if (currentAttr == null) break; - newKeys = attributes[currentAttrIndex].keySet(); + newKeys = currentAttr.keySet(); } while (newKeys.containsAll (reqAttrs)); @@ -201,20 +209,21 @@ public class FormatCharacterIterator implements AttributedCharacterIterator if (attributes == null) return 0; - if (attributes[attributeIndex] == null) + Map<Attribute,Object> attrib = attributes.get(attributeIndex); + if (attrib == null) { for (int i=attributeIndex;i>0;i--) - if (attributes[i] != null) + if (attributes.get(i) != null) return ranges[attributeIndex-1]; return 0; } - return getRunStart (attributes[attributeIndex].keySet()); + return getRunStart (attrib.keySet()); } - public int getRunStart (AttributedCharacterIterator.Attribute attribute) + public int getRunStart (Attribute attribute) { - Set s = new HashSet(); + Set<Attribute> s = new HashSet<Attribute>(); s.add (attribute); return getRunStart (s); @@ -261,7 +270,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator { charIndex = formattedString.length()-1; if (attributes != null) - attributeIndex = attributes.length-1; + attributeIndex = attributes.size()-1; return formattedString.charAt (charIndex); } @@ -306,7 +315,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator charIndex = position; if (attributes != null) { - for (attributeIndex=0;attributeIndex<attributes.length; + for (attributeIndex=0;attributeIndex<attributes.size(); attributeIndex++) if (ranges[attributeIndex] > charIndex) break; @@ -327,40 +336,42 @@ public class FormatCharacterIterator implements AttributedCharacterIterator * * @param attributes the new array attributes to apply to the string. */ - public void mergeAttributes (HashMap[] attributes, int[] ranges) + public void mergeAttributes (List<Map<Attribute,Object>> attributes, + int[] ranges) { - Vector new_ranges = new Vector(); - Vector new_attributes = new Vector(); + List<Integer> newRanges = new ArrayList<Integer>(); + List<Map<Attribute,Object>> newAttributes = + new ArrayList<Map<Attribute,Object>>(); int i = 0, j = 0; - debug("merging " + attributes.length + " attrs"); + debug("merging " + attributes.size() + " attrs"); while (i < this.ranges.length && j < ranges.length) { - if (this.attributes[i] != null) + if (this.attributes.get(i) != null) { - new_attributes.add (this.attributes[i]); - if (attributes[j] != null) - this.attributes[i].putAll (attributes[j]); + newAttributes.add (this.attributes.get(i)); + if (attributes.get(j) != null) + this.attributes.get(i).putAll (attributes.get(j)); } else { - new_attributes.add (attributes[j]); + newAttributes.add (attributes.get(j)); } if (this.ranges[i] == ranges[j]) { - new_ranges.add (new Integer (ranges[j])); + newRanges.add (Integer.valueOf (ranges[j])); i++; j++; } else if (this.ranges[i] < ranges[j]) { - new_ranges.add (new Integer (this.ranges[i])); + newRanges.add (Integer.valueOf (this.ranges[i])); i++; } else { - new_ranges.add (new Integer (ranges[j])); + newRanges.add (Integer.valueOf (ranges[j])); j++; } } @@ -369,27 +380,25 @@ public class FormatCharacterIterator implements AttributedCharacterIterator { for (;i<this.ranges.length;i++) { - new_attributes.add (this.attributes[i]); - new_ranges.add (new Integer (this.ranges[i])); + newAttributes.add (this.attributes.get(i)); + newRanges.add (Integer.valueOf (this.ranges[i])); } } if (j != ranges.length) { for (;j<ranges.length;j++) { - new_attributes.add (attributes[j]); - new_ranges.add (new Integer (ranges[j])); + newAttributes.add (attributes.get(j)); + newRanges.add (Integer.valueOf (ranges[j])); } } - this.attributes = new HashMap[new_attributes.size()]; - this.ranges = new int[new_ranges.size()]; - System.arraycopy (new_attributes.toArray(), 0, this.attributes, - 0, this.attributes.length); + this.attributes = newAttributes; + this.ranges = new int[newRanges.size()]; - for (i=0;i<new_ranges.size();i++) + for (i=0;i<newRanges.size();i++) { - this.ranges[i] = ((Integer)new_ranges.elementAt (i)).intValue(); + this.ranges[i] = newRanges.get (i).intValue(); } dumpTable(); @@ -405,35 +414,35 @@ public class FormatCharacterIterator implements AttributedCharacterIterator public void append (AttributedCharacterIterator iterator) { char c = iterator.first(); - Vector more_ranges = new Vector(); - Vector more_attributes = new Vector(); + List<Integer> moreRanges = new ArrayList<Integer>(); + List<Map<Attribute,Object>> moreAttributes = + new ArrayList<Map<Attribute,Object>>(); do { formattedString = formattedString + String.valueOf (c); // TODO: Reduce the size of the output array. - more_attributes.add (iterator.getAttributes()); - more_ranges.add (new Integer (formattedString.length())); + moreAttributes.add (iterator.getAttributes()); + moreRanges.add (Integer.valueOf (formattedString.length())); // END TOOD c = iterator.next(); } while (c != DONE); - HashMap[] new_attributes = new HashMap[attributes.length - + more_attributes.size()]; - int[] new_ranges = new int[ranges.length + more_ranges.size()]; + List<Map<Attribute,Object>> newAttributes = + new ArrayList<Map<Attribute,Object>>(attributes.size() + moreAttributes.size()); + int[] newRanges = new int[ranges.length + moreRanges.size()]; - System.arraycopy (attributes, 0, new_attributes, 0, attributes.length); - System.arraycopy (more_attributes.toArray(), 0, new_attributes, - attributes.length, more_attributes.size()); + newAttributes.addAll(attributes); + newAttributes.addAll(moreAttributes); - System.arraycopy (ranges, 0, new_ranges, 0, ranges.length); - Object[] new_ranges_array = more_ranges.toArray(); - for (int i = 0; i < more_ranges.size();i++) - new_ranges[i+ranges.length] = ((Integer) new_ranges_array[i]).intValue(); + System.arraycopy (ranges, 0, newRanges, 0, ranges.length); + Integer[] newRangesArray = moreRanges.toArray(new Integer[moreRanges.size()]); + for (int i = 0; i < moreRanges.size();i++) + newRanges[i+ranges.length] = newRangesArray[i].intValue(); - attributes = new_attributes; - ranges = new_ranges; + attributes = newAttributes; + ranges = newRanges; } /** @@ -441,28 +450,29 @@ public class FormatCharacterIterator implements AttributedCharacterIterator * directly in the calling parameters. * * @param text The string to append. - * @param local_attributes The attributes to put on this string in the + * @param localAttributes The attributes to put on this string in the * iterator. If it is <code>null</code> the string will simply have no * attributes. */ - public void append (String text, HashMap local_attributes) + public void append (String text, HashMap<? extends Attribute,? extends Object> localAttributes) { - int[] new_ranges = new int[ranges.length+1]; - HashMap[] new_attributes = new HashMap[attributes.length+1]; + int[] newRanges = new int[ranges.length+1]; + List<Map<Attribute,Object>> newAttributes = + new ArrayList<Map<Attribute,Object>>(attributes.size()+1); formattedString += text; - System.arraycopy (attributes, 0, new_attributes, 0, attributes.length); - System.arraycopy (ranges, 0, new_ranges, 0, ranges.length); - new_ranges[ranges.length] = formattedString.length(); - new_attributes[attributes.length] = local_attributes; + newAttributes.addAll(attributes); + System.arraycopy (ranges, 0, newRanges, 0, ranges.length); + newRanges[ranges.length] = formattedString.length(); + newAttributes.add(new HashMap<Attribute,Object>(localAttributes)); - ranges = new_ranges; - attributes = new_attributes; + ranges = newRanges; + attributes = newAttributes; } /** * This method appends a string without attributes. It is completely - * equivalent to call {@link #append(String,HashMap)} with local_attributes + * equivalent to call {@link #append(String,HashMap)} with localAttributes * equal to <code>null</code>. * * @param text The string to append to the iterator. @@ -475,22 +485,31 @@ public class FormatCharacterIterator implements AttributedCharacterIterator /** * This method adds a set of attributes to a range of character. The * bounds are always inclusive. In the case many attributes have to - * be added it is advised to directly use {@link #mergeAttributes([Ljava.util.HashMap;[I} + * be added it is advised to directly use {@link #mergeAttributes(java.util.List;[I} * * @param attributes Attributes to merge into the iterator. - * @param range_start Lower bound of the range of characters which will receive the + * @param rangeStart Lower bound of the range of characters which will receive the * attribute. - * @param range_end Upper bound of the range of characters which will receive the + * @param rangeEnd Upper bound of the range of characters which will receive the * attribute. * * @throws IllegalArgumentException if ranges are out of bounds. */ - public void addAttributes(HashMap attributes, int range_start, int range_end) + public void addAttributes(Map<? extends Attribute,? extends Object> attributes, + int rangeStart, int rangeEnd) { - if (range_start == 0) - mergeAttributes(new HashMap[] { attributes }, new int[] { range_end }); + List<Map<Attribute,Object>> mergeAttribs = new ArrayList<Map<Attribute,Object>>(); + int[] mergeRanges; + + if (rangeStart == 0) + mergeRanges = new int[] { rangeEnd }; else - mergeAttributes(new HashMap[] { null, attributes }, new int[] { range_start, range_end }); + { + mergeRanges = new int[] { rangeStart, rangeEnd }; + mergeAttribs.add(null); + } + mergeAttribs.add(new HashMap<Attribute,Object>(attributes)); + mergeAttributes(mergeAttribs, mergeRanges); } private void debug(String s) @@ -501,7 +520,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator private void dumpTable() { - int start_range = 0; + int startRange = 0; if (!DEBUG) return; @@ -509,15 +528,15 @@ public class FormatCharacterIterator implements AttributedCharacterIterator System.out.println("Dumping internal table:"); for (int i = 0; i < ranges.length; i++) { - System.out.print("\t" + start_range + " => " + ranges[i] + ":"); - if (attributes[i] == null) + System.out.print("\t" + startRange + " => " + ranges[i] + ":"); + if (attributes.get(i) == null) System.out.println("null"); else { - Set keyset = attributes[i].keySet(); + Set<Attribute> keyset = attributes.get(i).keySet(); if (keyset != null) { - Iterator keys = keyset.iterator(); + Iterator<Attribute> keys = keyset.iterator(); while (keys.hasNext()) System.out.print(" " + keys.next()); diff --git a/libjava/classpath/gnu/java/text/StringFormatBuffer.java b/libjava/classpath/gnu/java/text/StringFormatBuffer.java index 2367fccb39e..8374500ea25 100644 --- a/libjava/classpath/gnu/java/text/StringFormatBuffer.java +++ b/libjava/classpath/gnu/java/text/StringFormatBuffer.java @@ -1,5 +1,5 @@ /* StringFormatBuffer.java -- Implements FormatBuffer using StringBuffer. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,7 +37,10 @@ exception statement from your version. */ package gnu.java.text; import java.text.AttributedCharacterIterator; -import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static java.text.AttributedCharacterIterator.Attribute; /** * This class is an implementation of a FormatBuffer without attributes. @@ -48,7 +51,7 @@ import java.util.HashMap; public class StringFormatBuffer implements FormatBuffer { private final StringBuffer buffer; - private AttributedCharacterIterator.Attribute defaultAttr; + private Attribute defaultAttr; public StringFormatBuffer(int prebuffer) { @@ -65,12 +68,12 @@ public class StringFormatBuffer implements FormatBuffer buffer.append(s); } - public void append(String s, AttributedCharacterIterator.Attribute attr) + public void append(String s, Attribute attr) { buffer.append(s); } - public void append(String s, int[] ranges, HashMap[] attrs) + public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs) { buffer.append(s); } @@ -80,17 +83,17 @@ public class StringFormatBuffer implements FormatBuffer buffer.append(c); } - public void append(char c, AttributedCharacterIterator.Attribute attr) + public void append(char c, Attribute attr) { buffer.append(c); } - public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr) + public void setDefaultAttribute(Attribute attr) { defaultAttr = attr; } - public AttributedCharacterIterator.Attribute getDefaultAttribute() + public Attribute getDefaultAttribute() { return defaultAttr; } diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java index 605c6dfb791..ca7b046f25a 100644 --- a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java +++ b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java @@ -1,5 +1,5 @@ /* DSSIMidiDeviceProvider.java -- DSSI Device Provider - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -69,13 +69,16 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider */ private static class DSSIInfo extends Info { + String copyright; String soname; long index; - public DSSIInfo(String name, String vendor, String description, - String version, String soname, long index) + public DSSIInfo(String name, String vendor, String label, + String copyright, String version, + String soname, long index) { - super(name, vendor, description, version); + super(name, vendor, label, version); + this.copyright = copyright; this.soname = soname; this.index = index; } @@ -89,9 +92,9 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider static native String getDSSIVendor_(long handle); static native String getDSSILabel_(long handle); - private static List examineLibrary(String soname) + private static List<DSSIInfo> examineLibrary(String soname) { - List list = new ArrayList(); + List<DSSIInfo> list = new ArrayList<DSSIInfo>(); long index = 0; long handle; @@ -107,7 +110,7 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider String copyright = getDSSICopyright_(handle); String label = getDSSIName_(handle); String vendor = getDSSIVendor_(handle); - list.add(new DSSIInfo(name, vendor, label, + list.add(new DSSIInfo(name, vendor, label, copyright, "DSSI-1", soname, index)); index++; } while (true); @@ -133,10 +136,10 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider return n.endsWith(".so"); } }); - List ilist = new ArrayList(); + List<DSSIInfo> ilist = new ArrayList<DSSIInfo>(); for (int i = 0; i < sofiles.length; i++) ilist.addAll(examineLibrary(new File(dssidir, sofiles[i]).getAbsolutePath())); - infos = (DSSIInfo[]) ilist.toArray(new DSSIInfo[ilist.size()]); + infos = ilist.toArray(new DSSIInfo[ilist.size()]); } public DSSIMidiDeviceProvider() diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java index 9472ee4adcc..1ae1fe87a58 100644 --- a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java +++ b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java @@ -1,5 +1,5 @@ /* DSSISynthesizer.java -- DSSI Synthesizer Provider - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -97,8 +97,8 @@ public class DSSISynthesizer implements Synthesizer { private String name; private String description; - private List instruments = new ArrayList(); - private List resources = new ArrayList(); + private List<Instrument> instruments = new ArrayList<Instrument>(); + private List<SoundbankResource> resources = new ArrayList<SoundbankResource>(); private String vendor; private String version; @@ -147,27 +147,25 @@ public class DSSISynthesizer implements Synthesizer */ public SoundbankResource[] getResources() { - return (SoundbankResource[]) - resources.toArray(new SoundbankResource[resources.size()]); + return resources.toArray(new SoundbankResource[resources.size()]); } /* @see javax.sound.midi.Soundbank#getInstruments() */ public Instrument[] getInstruments() { - return (Instrument[]) - instruments.toArray(new Instrument[instruments.size()]); + return instruments.toArray(new Instrument[instruments.size()]); } /* @see javax.sound.midi.Soundbank#getInstrument(javax.sound.midi.Patch) */ public Instrument getInstrument(Patch patch) { - Iterator itr = instruments.iterator(); + Iterator<Instrument> itr = instruments.iterator(); while (itr.hasNext()) { - Instrument i = (Instrument) itr.next(); + Instrument i = itr.next(); if (i.getPatch().equals(patch)) return i; } @@ -490,7 +488,7 @@ public class DSSISynthesizer implements Synthesizer MidiChannel channels[] = new MidiChannel[16]; // The list of known soundbanks, and the default one. - List soundbanks = new ArrayList(); + List<Soundbank> soundbanks = new ArrayList<Soundbank>(); DSSISoundbank defaultSoundbank; /** @@ -616,17 +614,16 @@ public class DSSISynthesizer implements Synthesizer */ public Instrument[] getAvailableInstruments() { - List instruments = new ArrayList(); - Iterator itr = soundbanks.iterator(); + List<Instrument> instruments = new ArrayList<Instrument>(); + Iterator<Soundbank> itr = soundbanks.iterator(); while (itr.hasNext()) { - Soundbank sb = (Soundbank) itr.next(); + Soundbank sb = itr.next(); Instrument ins[] = sb.getInstruments(); for (int i = 0; i < ins.length; i++) instruments.add(ins[i]); } - return (Instrument[]) - instruments.toArray(new Instrument[instruments.size()]); + return instruments.toArray(new Instrument[instruments.size()]); } /* (non-Javadoc) diff --git a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java index fb2a472fa24..06f29af0f55 100644 --- a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java +++ b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java @@ -1,5 +1,5 @@ /* MidiFileReader.java -- Read MIDI files. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -198,7 +198,7 @@ public class MidiFileReader extends javax.sound.midi.spi.MidiFileReader int Mtrk = din.readInt(); if (Mtrk != 0x4d54726b) throw new InvalidMidiDataException("Invalid MIDI track header."); - int length = din.readInt(); + din.readInt(); // length int runningStatus = -1; int click = 0; diff --git a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java index 5170fc1e7df..f3194cb1ed4 100644 --- a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java +++ b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java @@ -1,5 +1,5 @@ /* MidiFileWriter.java -- Write MIDI files. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -118,7 +118,7 @@ public class MidiFileWriter */ private int computeTrackLength(Track track, MidiDataOutputStream dos) { - int count = 0, length = 0, i = 0, eventCount = track.size(); + int length = 0, i = 0, eventCount = track.size(); long ptick = 0; while (i < eventCount) { diff --git a/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java b/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java index 5cd6efe5e02..f03bc4790ad 100644 --- a/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java +++ b/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java @@ -1,5 +1,5 @@ /* WAVReader.java -- Read WAV files. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -128,7 +128,7 @@ public class WAVReader extends AudioFileReader boolean foundFmt = false; boolean foundData = false; - short compressionCode = 0, numberChannels = 0, blockAlign = 0, bitsPerSample = 0; + short compressionCode = 0, numberChannels = 0, bitsPerSample = 0; long sampleRate = 0, bytesPerSecond = 0; long chunkLength = 0; @@ -144,7 +144,7 @@ public class WAVReader extends AudioFileReader numberChannels = readUnsignedShortLE(din); sampleRate = readUnsignedIntLE(din); bytesPerSecond = readUnsignedIntLE(din); - blockAlign = readUnsignedShortLE(din); + readUnsignedShortLE(din); // blockAlign bitsPerSample = readUnsignedShortLE(din); din.skip(chunkLength - 16); break; diff --git a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java index 1910ea655dd..b2ca7cd4b4c 100644 --- a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java +++ b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java @@ -1,5 +1,5 @@ /* GStreamerMixer.java -- Mixer implementation. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -92,7 +92,7 @@ public class GStreamerMixer // and see if there is one matching the given line // if the format comes from the gstreamer backend // gstreamer will be able to deal with it - Class clazz = info.getLineClass(); + Class<?> clazz = info.getLineClass(); DataLine.Info _info = (DataLine.Info) info; if (clazz == SourceDataLine.class) diff --git a/libjava/classpath/gnu/xml/transform/SAXSerializer.java b/libjava/classpath/gnu/xml/transform/SAXSerializer.java index 2bd1f97abd2..3ea423410a5 100644 --- a/libjava/classpath/gnu/xml/transform/SAXSerializer.java +++ b/libjava/classpath/gnu/xml/transform/SAXSerializer.java @@ -200,7 +200,8 @@ class SAXSerializer public String getValue(String qName) { - return attrs.getNamedItem(qName).getNodeValue(); + Attr attr = (Attr) attrs.getNamedItem(qName); + return (attr == null) ? null : attr.getNodeValue(); } void serialize(Node node, ContentHandler ch, LexicalHandler lh) diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in index 1039aee441d..138e477b450 100644 --- a/libjava/classpath/include/Makefile.in +++ b/libjava/classpath/include/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -169,6 +168,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/install-sh b/libjava/classpath/install-sh index a9244eb0786..6781b987bdb 100755 --- a/libjava/classpath/install-sh +++ b/libjava/classpath/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,10 +156,6 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac shift;; -T) no_target_directory=true;; @@ -190,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac done fi @@ -208,11 +200,7 @@ if test $# -eq 0; then fi if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 + trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -240,9 +228,9 @@ fi for src do - # Protect names problematic for `test' and other utilities. + # Protect names starting with `-'. case $src in - -* | [=\(\)!]) src=./$src;; + -*) src=./$src;; esac if test -n "$dir_arg"; then @@ -264,7 +252,12 @@ do echo "$0: no destination specified." >&2 exit 1 fi + dst=$dst_arg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -392,7 +385,7 @@ do case $dstdir in /*) prefix='/';; - [-=\(\)!]*) prefix='./';; + -*) prefix='./';; *) prefix='';; esac @@ -410,7 +403,7 @@ do for d do - test X"$d" = X && continue + test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then diff --git a/libjava/classpath/java/awt/geom/Area.java b/libjava/classpath/java/awt/geom/Area.java index a1eaf63f3c3..51f914f288f 100644 --- a/libjava/classpath/java/awt/geom/Area.java +++ b/libjava/classpath/java/awt/geom/Area.java @@ -91,18 +91,18 @@ public class Area implements Shape, Cloneable * Segment vectors containing solid areas and holes * This is package-private to avoid an accessor method. */ - Vector solids; + Vector<Segment> solids; /** * Segment vectors containing solid areas and holes * This is package-private to avoid an accessor method. */ - Vector holes; + Vector<Segment> holes; /** * Vector (temporary) storing curve-curve intersections */ - private Vector cc_intersections; + private Vector<double[]> ccIntersections; /** * Winding rule WIND_NON_ZERO used, after construction, @@ -115,8 +115,8 @@ public class Area implements Shape, Cloneable */ public Area() { - solids = new Vector(); - holes = new Vector(); + solids = new Vector<Segment>(); + holes = new Vector<Segment>(); } /** @@ -135,7 +135,7 @@ public class Area implements Shape, Cloneable { this(); - Vector p = makeSegment(s); + Vector<Segment> p = makeSegment(s); // empty path if (p == null) @@ -143,7 +143,7 @@ public class Area implements Shape, Cloneable // delete empty paths for (int i = 0; i < p.size(); i++) - if (((Segment) p.elementAt(i)).getSignedArea() == 0.0) + if (p.elementAt(i).getSignedArea() == 0.0) p.remove(i--); /* @@ -157,12 +157,11 @@ public class Area implements Shape, Cloneable * 4: Repeat (3) until no segments remain in the list * 5: Remove redundant paths and sort into solids and holes */ - Vector paths = new Vector(); Segment v; for (int i = 0; i < p.size(); i++) { - Segment path = (Segment) p.elementAt(i); + Segment path = p.elementAt(i); createNodesSelf(path); } @@ -171,18 +170,18 @@ public class Area implements Shape, Cloneable for (int i = 0; i < p.size() - 1; i++) for (int j = i + 1; j < p.size(); j++) { - Segment path1 = (Segment) p.elementAt(i); - Segment path2 = (Segment) p.elementAt(j); + Segment path1 = p.elementAt(i); + Segment path2 = p.elementAt(j); createNodes(path1, path2); } } // we have intersecting points. - Vector segments = new Vector(); + Vector<Segment> segments = new Vector<Segment>(); for (int i = 0; i < p.size(); i++) { - Segment path = v = (Segment) p.elementAt(i); + Segment path = v = p.elementAt(i); do { segments.add(v); @@ -191,7 +190,7 @@ public class Area implements Shape, Cloneable while (v != path); } - paths = weilerAtherton(segments); + Vector<Segment> paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -208,36 +207,34 @@ public class Area implements Shape, Cloneable Area B = (Area) area.clone(); - Vector pathA = new Vector(); - Vector pathB = new Vector(); + Vector<Segment> pathA = new Vector<Segment>(); + Vector<Segment> pathB = new Vector<Segment>(); pathA.addAll(solids); pathA.addAll(holes); pathB.addAll(B.solids); pathB.addAll(B.holes); - int nNodes = 0; - for (int i = 0; i < pathA.size(); i++) { - Segment a = (Segment) pathA.elementAt(i); + Segment a = pathA.elementAt(i); for (int j = 0; j < pathB.size(); j++) { - Segment b = (Segment) pathB.elementAt(j); - nNodes += createNodes(a, b); + Segment b = pathB.elementAt(j); + createNodes(a, b); } } - Vector paths = new Vector(); + Vector<Segment> paths = new Vector<Segment>(); Segment v; // we have intersecting points. - Vector segments = new Vector(); + Vector<Segment> segments = new Vector<Segment>(); // In a union operation, we keep all // segments of A oustide B and all B outside A for (int i = 0; i < pathA.size(); i++) { - v = (Segment) pathA.elementAt(i); + v = pathA.elementAt(i); Segment path = v; do { @@ -250,7 +247,7 @@ public class Area implements Shape, Cloneable for (int i = 0; i < pathB.size(); i++) { - v = (Segment) pathB.elementAt(i); + v = pathB.elementAt(i); Segment path = v; do { @@ -281,7 +278,7 @@ public class Area implements Shape, Cloneable return; } - Vector pathA = new Vector(); + Vector<Segment> pathA = new Vector<Segment>(); Area B = (Area) area.clone(); pathA.addAll(solids); pathA.addAll(holes); @@ -290,27 +287,23 @@ public class Area implements Shape, Cloneable setDirection(B.holes, true); setDirection(B.solids, false); - Vector pathB = new Vector(); + Vector<Segment> pathB = new Vector<Segment>(); pathB.addAll(B.solids); pathB.addAll(B.holes); - int nNodes = 0; - // create nodes for (int i = 0; i < pathA.size(); i++) { - Segment a = (Segment) pathA.elementAt(i); + Segment a = pathA.elementAt(i); for (int j = 0; j < pathB.size(); j++) { - Segment b = (Segment) pathB.elementAt(j); - nNodes += createNodes(a, b); + Segment b = pathB.elementAt(j); + createNodes(a, b); } } - Vector paths = new Vector(); - // we have intersecting points. - Vector segments = new Vector(); + Vector<Segment> segments = new Vector<Segment>(); // In a subtraction operation, we keep all // segments of A oustide B and all B within A @@ -318,7 +311,7 @@ public class Area implements Shape, Cloneable // and the segments before and after any node for (int i = 0; i < pathA.size(); i++) { - Segment v = (Segment) pathA.elementAt(i); + Segment v = pathA.elementAt(i); Segment path = v; if (v.isSegmentOutside(area) && v.node == null) segments.add(v); @@ -357,7 +350,7 @@ public class Area implements Shape, Cloneable while (v != path); } - paths = weilerAtherton(segments); + Vector<Segment> paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -376,32 +369,28 @@ public class Area implements Shape, Cloneable if (equals(area)) return; - Vector pathA = new Vector(); + Vector<Segment> pathA = new Vector<Segment>(); Area B = (Area) area.clone(); pathA.addAll(solids); pathA.addAll(holes); - Vector pathB = new Vector(); + Vector<Segment> pathB = new Vector<Segment>(); pathB.addAll(B.solids); pathB.addAll(B.holes); - int nNodes = 0; - // create nodes for (int i = 0; i < pathA.size(); i++) { - Segment a = (Segment) pathA.elementAt(i); + Segment a = pathA.elementAt(i); for (int j = 0; j < pathB.size(); j++) { - Segment b = (Segment) pathB.elementAt(j); - nNodes += createNodes(a, b); + Segment b = pathB.elementAt(j); + createNodes(a, b); } } - Vector paths = new Vector(); - // we have intersecting points. - Vector segments = new Vector(); + Vector<Segment> segments = new Vector<Segment>(); // In an intersection operation, we keep all // segments of A within B and all B within A @@ -410,7 +399,7 @@ public class Area implements Shape, Cloneable // and the segments before and after any node for (int i = 0; i < pathA.size(); i++) { - Segment v = (Segment) pathA.elementAt(i); + Segment v = pathA.elementAt(i); Segment path = v; if (! v.isSegmentOutside(area) && v.node == null) segments.add(v); @@ -430,7 +419,7 @@ public class Area implements Shape, Cloneable for (int i = 0; i < pathB.size(); i++) { - Segment v = (Segment) pathB.elementAt(i); + Segment v = pathB.elementAt(i); Segment path = v; if (! v.isSegmentOutside(this) && v.node == null) segments.add(v); @@ -449,7 +438,7 @@ public class Area implements Shape, Cloneable while (v != path); } - paths = weilerAtherton(segments); + Vector<Segment> paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -476,10 +465,10 @@ public class Area implements Shape, Cloneable return; } - Vector pathA = new Vector(); + Vector<Segment> pathA = new Vector<Segment>(); Area B = (Area) area.clone(); - Vector pathB = new Vector(); + Vector<Segment> pathB = new Vector<Segment>(); pathA.addAll(solids); pathA.addAll(holes); @@ -489,28 +478,25 @@ public class Area implements Shape, Cloneable pathB.addAll(B.solids); pathB.addAll(B.holes); - int nNodes = 0; - for (int i = 0; i < pathA.size(); i++) { - Segment a = (Segment) pathA.elementAt(i); + Segment a = pathA.elementAt(i); for (int j = 0; j < pathB.size(); j++) { - Segment b = (Segment) pathB.elementAt(j); - nNodes += createNodes(a, b); + Segment b = pathB.elementAt(j); + createNodes(a, b); } } - Vector paths = new Vector(); Segment v; // we have intersecting points. - Vector segments = new Vector(); + Vector<Segment> segments = new Vector<Segment>(); // In an XOR operation, we operate on all segments for (int i = 0; i < pathA.size(); i++) { - v = (Segment) pathA.elementAt(i); + v = pathA.elementAt(i); Segment path = v; do { @@ -522,7 +508,7 @@ public class Area implements Shape, Cloneable for (int i = 0; i < pathB.size(); i++) { - v = (Segment) pathB.elementAt(i); + v = pathB.elementAt(i); Segment path = v; do { @@ -532,7 +518,7 @@ public class Area implements Shape, Cloneable while (v != path); } - paths = weilerAtherton(segments); + Vector<Segment> paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -541,8 +527,8 @@ public class Area implements Shape, Cloneable */ public void reset() { - solids = new Vector(); - holes = new Vector(); + solids = new Vector<Segment>(); + holes = new Vector<Segment>(); } /** @@ -556,9 +542,9 @@ public class Area implements Shape, Cloneable double totalArea = 0; for (int i = 0; i < solids.size(); i++) - totalArea += Math.abs(((Segment) solids.elementAt(i)).getSignedArea()); + totalArea += Math.abs(solids.elementAt(i).getSignedArea()); for (int i = 0; i < holes.size(); i++) - totalArea -= Math.abs(((Segment) holes.elementAt(i)).getSignedArea()); + totalArea -= Math.abs(holes.elementAt(i).getSignedArea()); if (totalArea <= EPSILON) return true; @@ -572,10 +558,10 @@ public class Area implements Shape, Cloneable public boolean isPolygonal() { for (int i = 0; i < holes.size(); i++) - if (! ((Segment) holes.elementAt(i)).isPolygonal()) + if (!holes.elementAt(i).isPolygonal()) return false; for (int i = 0; i < solids.size(); i++) - if (! ((Segment) solids.elementAt(i)).isPolygonal()) + if (!solids.elementAt(i).isPolygonal()) return false; return true; } @@ -599,7 +585,7 @@ public class Area implements Shape, Cloneable if (holes.size() != 0 || solids.size() != 1) return false; - Segment path = (Segment) solids.elementAt(0); + Segment path = solids.elementAt(0); if (! path.isPolygonal()) return false; @@ -657,12 +643,12 @@ public class Area implements Shape, Cloneable double xmax; double ymin; double ymax; - xmin = xmax = ((Segment) solids.elementAt(0)).P1.getX(); - ymin = ymax = ((Segment) solids.elementAt(0)).P1.getY(); + xmin = xmax = solids.elementAt(0).P1.getX(); + ymin = ymax = solids.elementAt(0).P1.getY(); for (int path = 0; path < solids.size(); path++) { - Rectangle2D r = ((Segment) solids.elementAt(path)).getPathBounds(); + Rectangle2D r = solids.elementAt(path).getPathBounds(); xmin = Math.min(r.getMinX(), xmin); ymin = Math.min(r.getMinY(), ymin); xmax = Math.max(r.getMaxX(), xmax); @@ -696,9 +682,9 @@ public class Area implements Shape, Cloneable { Area clone = new Area(); for (int i = 0; i < solids.size(); i++) - clone.solids.add(((Segment) solids.elementAt(i)).cloneSegmentList()); + clone.solids.add(solids.elementAt(i).cloneSegmentList()); for (int i = 0; i < holes.size(); i++) - clone.holes.add(((Segment) holes.elementAt(i)).cloneSegmentList()); + clone.holes.add(holes.elementAt(i).cloneSegmentList()); return clone; } catch (CloneNotSupportedException e) @@ -727,10 +713,10 @@ public class Area implements Shape, Cloneable || holes.size() != area.holes.size()) return false; - Vector pathA = new Vector(); + Vector<Segment> pathA = new Vector<Segment>(); pathA.addAll(solids); pathA.addAll(holes); - Vector pathB = new Vector(); + Vector<Segment> pathB = new Vector<Segment>(); pathB.addAll(area.solids); pathB.addAll(area.holes); @@ -741,8 +727,8 @@ public class Area implements Shape, Cloneable { for (int j = 0; j < nPaths; j++) { - Segment p1 = (Segment) pathA.elementAt(i); - Segment p2 = (Segment) pathB.elementAt(j); + Segment p1 = pathA.elementAt(i); + Segment p2 = pathB.elementAt(j); if (! match[0][i] && ! match[1][j]) if (p1.pathEquals(p2)) match[0][i] = match[1][j] = true; @@ -763,9 +749,9 @@ public class Area implements Shape, Cloneable public void transform(AffineTransform at) { for (int i = 0; i < solids.size(); i++) - ((Segment) solids.elementAt(i)).transformSegmentList(at); + solids.elementAt(i).transformSegmentList(at); for (int i = 0; i < holes.size(); i++) - ((Segment) holes.elementAt(i)).transformSegmentList(at); + holes.elementAt(i).transformSegmentList(at); // Note that the orientation is not invariant under inversion if ((at.getType() & AffineTransform.TYPE_FLIP) != 0) @@ -800,11 +786,11 @@ public class Area implements Shape, Cloneable { int n = 0; for (int i = 0; i < solids.size(); i++) - if (((Segment) solids.elementAt(i)).contains(x, y)) + if (solids.elementAt(i).contains(x, y)) n++; for (int i = 0; i < holes.size(); i++) - if (((Segment) holes.elementAt(i)).contains(x, y)) + if (holes.elementAt(i).contains(x, y)) n--; return (n != 0); @@ -854,7 +840,7 @@ public class Area implements Shape, Cloneable { Segment v; Segment start; - start = v = (Segment) solids.elementAt(path); + start = v = solids.elementAt(path); do { if (l[i].hasIntersections(v)) @@ -867,7 +853,7 @@ public class Area implements Shape, Cloneable { Segment v; Segment start; - start = v = (Segment) holes.elementAt(path); + start = v = holes.elementAt(path); do { if (l[i].hasIntersections(v)) @@ -886,7 +872,7 @@ public class Area implements Shape, Cloneable // but encloses a hole? Rectangle2D r = new Rectangle2D.Double(x, y, w, h); for (int path = 0; path < holes.size(); path++) - if (! ((Segment) holes.elementAt(path)).isSegmentOutside(r)) + if (! holes.elementAt(path).isSegmentOutside(r)) return false; return true; @@ -938,7 +924,7 @@ public class Area implements Shape, Cloneable { Segment v; Segment start; - start = v = (Segment) solids.elementAt(path); + start = v = solids.elementAt(path); do { if (l[i].hasIntersections(v)) @@ -951,7 +937,7 @@ public class Area implements Shape, Cloneable { Segment v; Segment start; - start = v = (Segment) holes.elementAt(path); + start = v = holes.elementAt(path); do { if (l[i].hasIntersections(v)) @@ -967,7 +953,7 @@ public class Area implements Shape, Cloneable return true; // What if the rectangle encloses the whole shape? - Point2D p = ((Segment) solids.elementAt(0)).getMidPoint(); + Point2D p = solids.elementAt(0).getMidPoint(); if ((new Rectangle2D.Double(x, y, w, h)).contains(p)) return true; return false; @@ -1020,7 +1006,7 @@ public class Area implements Shape, Cloneable */ private class AreaIterator implements PathIterator { - private Vector segments; + private Vector<IteratorSegment> segments; private int index; private AffineTransform at; @@ -1045,14 +1031,14 @@ public class Area implements Shape, Cloneable { this.at = at; index = 0; - segments = new Vector(); - Vector allpaths = new Vector(); + segments = new Vector<IteratorSegment>(); + Vector<Segment> allpaths = new Vector<Segment>(); allpaths.addAll(solids); allpaths.addAll(holes); for (int i = 0; i < allpaths.size(); i++) { - Segment v = (Segment) allpaths.elementAt(i); + Segment v = allpaths.elementAt(i); Segment start = v; IteratorSegment is = new IteratorSegment(); @@ -1078,7 +1064,7 @@ public class Area implements Shape, Cloneable public int currentSegment(double[] coords) { - IteratorSegment s = (IteratorSegment) segments.elementAt(index); + IteratorSegment s = segments.elementAt(index); if (at != null) at.transform(s.coords, 0, coords, 0, 3); else @@ -1089,7 +1075,7 @@ public class Area implements Shape, Cloneable public int currentSegment(float[] coords) { - IteratorSegment s = (IteratorSegment) segments.elementAt(index); + IteratorSegment s = segments.elementAt(index); double[] d = new double[6]; if (at != null) { @@ -1129,13 +1115,13 @@ public class Area implements Shape, Cloneable * * Returns a Vector of the resulting paths. */ - private Vector weilerAtherton(Vector segments) + private Vector<Segment> weilerAtherton(Vector<Segment> segments) { - Vector paths = new Vector(); + Vector<Segment> paths = new Vector<Segment>(); while (segments.size() > 0) { // Iterate over the path - Segment start = (Segment) segments.elementAt(0); + Segment start = segments.elementAt(0); Segment s = start; do { @@ -1252,7 +1238,7 @@ public class Area implements Shape, Cloneable double[] temp = new double[2]; temp[0] = t1 + s * w1; temp[1] = t2 + t * w1; - cc_intersections.add(temp); + ccIntersections.add(temp); return; } @@ -1328,28 +1314,28 @@ public class Area implements Shape, Cloneable if (! r1.intersects(r2)) return null; - cc_intersections = new Vector(); + ccIntersections = new Vector<double[]>(); recursiveSubdivide(curve1.getCubicCurve2D(), curve2.getCubicCurve2D(), getRecursionDepth(curve1), getRecursionDepth(curve2), 0.0, 0.0, 1.0, 1.0); - if (cc_intersections.size() == 0) + if (ccIntersections.size() == 0) return null; - Intersection[] results = new Intersection[cc_intersections.size()]; - for (int i = 0; i < cc_intersections.size(); i++) + Intersection[] results = new Intersection[ccIntersections.size()]; + for (int i = 0; i < ccIntersections.size(); i++) { - double[] temp = (double[]) cc_intersections.elementAt(i); + double[] temp = ccIntersections.elementAt(i); results[i] = new Intersection(curve1.evaluatePoint(temp[0]), temp[0], temp[1]); } - cc_intersections = null; + ccIntersections = null; return (results); } /** * Returns the intersections between a line and a quadratic bezier - * Or null if no intersections are found1 + * Or null if no intersections are found. * This is done through combining the line's equation with the * parametric form of the Bezier and solving the resulting quadratic. * This is package-private to avoid an accessor method. @@ -1622,9 +1608,9 @@ public class Area implements Shape, Cloneable * Helper method * Turns a shape into a Vector of Segments */ - private Vector makeSegment(Shape s) + private Vector<Segment> makeSegment(Shape s) { - Vector paths = new Vector(); + Vector<Segment> paths = new Vector<Segment>(); PathIterator pi = s.getPathIterator(null); double[] coords = new double[6]; Segment subpath = null; @@ -1786,7 +1772,7 @@ public class Area implements Shape, Cloneable } while (a != A); // until one wrap. - return (nNodes); + return nNodes; } /** @@ -1824,7 +1810,7 @@ public class Area implements Shape, Cloneable * solid areas) Clears any nodes. Sorts the remaining paths into solids * and holes, sets their orientation and sets the solids and holes lists. */ - private void deleteRedundantPaths(Vector paths) + private void deleteRedundantPaths(Vector<Segment> paths) { int npaths = paths.size(); @@ -1836,19 +1822,19 @@ public class Area implements Shape, Cloneable neg = ((windingRule == PathIterator.WIND_NON_ZERO) ? -1 : 1); for (int i = 0; i < npaths; i++) - bb[i] = ((Segment) paths.elementAt(i)).getPathBounds(); + bb[i] = paths.elementAt(i).getPathBounds(); // Find which path contains which, assign winding numbers for (int i = 0; i < npaths; i++) { - Segment pathA = (Segment) paths.elementAt(i); + Segment pathA = paths.elementAt(i); pathA.nullNodes(); // remove any now-redundant nodes, in case. int windingA = pathA.hasClockwiseOrientation() ? 1 : neg; for (int j = 0; j < npaths; j++) if (i != j) { - Segment pathB = (Segment) paths.elementAt(j); + Segment pathB = paths.elementAt(j); // A contains B if (bb[i].intersects(bb[j])) @@ -1876,8 +1862,8 @@ public class Area implements Shape, Cloneable windingNumbers[i][1] = contains[i][i]; } - Vector solids = new Vector(); - Vector holes = new Vector(); + Vector<Segment> solids = new Vector<Segment>(); + Vector<Segment> holes = new Vector<Segment>(); if (windingRule == PathIterator.WIND_NON_ZERO) { @@ -1913,12 +1899,12 @@ public class Area implements Shape, Cloneable * @param clockwise gives the direction, * true = clockwise, false = counter-clockwise */ - private void setDirection(Vector paths, boolean clockwise) + private void setDirection(Vector<Segment> paths, boolean clockwise) { Segment v; for (int i = 0; i < paths.size(); i++) { - v = (Segment) paths.elementAt(i); + v = paths.elementAt(i); if (clockwise != v.hasClockwiseOrientation()) v.reverseAll(); } @@ -2157,7 +2143,7 @@ public class Area implements Shape, Cloneable */ Segment cloneSegmentList() throws CloneNotSupportedException { - Vector list = new Vector(); + Vector<Segment> list = new Vector<Segment>(); Segment v = next; while (v != this) @@ -2170,7 +2156,7 @@ public class Area implements Shape, Cloneable v = clone; for (int i = 0; i < list.size(); i++) { - clone.next = (Segment) ((Segment) list.elementAt(i)).clone(); + clone.next = (Segment) list.elementAt(i).clone(); clone = clone.next; } clone.next = v; @@ -2209,7 +2195,7 @@ public class Area implements Shape, Cloneable */ protected int createNodes(Segment b, Intersection[] x) { - Vector v = new Vector(); + Vector<Intersection> v = new Vector<Intersection>(); for (int i = 0; i < x.length; i++) { Point2D p = x[i].p; @@ -2222,7 +2208,7 @@ public class Area implements Shape, Cloneable Intersection[] A = new Intersection[nNodes]; Intersection[] B = new Intersection[nNodes]; for (int i = 0; i < nNodes; i++) - A[i] = B[i] = (Intersection) v.elementAt(i); + A[i] = B[i] = v.elementAt(i); // Create two lists sorted by the parameter // Bubble sort, OK I suppose, since the number of intersections diff --git a/libjava/classpath/java/beans/XMLDecoder.java b/libjava/classpath/java/beans/XMLDecoder.java index 26896393a9e..bafafe400a9 100644 --- a/libjava/classpath/java/beans/XMLDecoder.java +++ b/libjava/classpath/java/beans/XMLDecoder.java @@ -104,6 +104,7 @@ import java.util.NoSuchElementException; * @status updated to 1.5 */ public class XMLDecoder + implements AutoCloseable { private Object owner; diff --git a/libjava/classpath/java/beans/XMLEncoder.java b/libjava/classpath/java/beans/XMLEncoder.java index 40cb6dbfb59..894e4b873c4 100644 --- a/libjava/classpath/java/beans/XMLEncoder.java +++ b/libjava/classpath/java/beans/XMLEncoder.java @@ -50,7 +50,9 @@ import java.io.OutputStream; * @author Robert Schuster (robertschuster@fsfe.org) * @since 1.4 */ -public class XMLEncoder extends Encoder +public class XMLEncoder + extends Encoder + implements AutoCloseable { Object owner; diff --git a/libjava/classpath/java/io/Closeable.java b/libjava/classpath/java/io/Closeable.java index b8523d79e63..f5f808381aa 100644 --- a/libjava/classpath/java/io/Closeable.java +++ b/libjava/classpath/java/io/Closeable.java @@ -48,6 +48,7 @@ package java.io; * @since 1.5 */ public interface Closeable + extends AutoCloseable { /** diff --git a/libjava/classpath/java/io/ObjectInput.java b/libjava/classpath/java/io/ObjectInput.java index f8d51e00d07..071f67d9031 100644 --- a/libjava/classpath/java/io/ObjectInput.java +++ b/libjava/classpath/java/io/ObjectInput.java @@ -48,7 +48,8 @@ package java.io; * * @see DataInput */ -public interface ObjectInput extends DataInput +public interface ObjectInput + extends DataInput, AutoCloseable { /** * This method returns the number of bytes that can be read without diff --git a/libjava/classpath/java/io/ObjectInputStream.java b/libjava/classpath/java/io/ObjectInputStream.java index c37f7665f1c..657072d5a30 100644 --- a/libjava/classpath/java/io/ObjectInputStream.java +++ b/libjava/classpath/java/io/ObjectInputStream.java @@ -529,12 +529,13 @@ public class ObjectInputStream extends InputStream if (dump) dumpElementln("ENUM="); ObjectStreamClass osc = (ObjectStreamClass) readObject(); + int enumHandle = assignNewHandle(null, shared); String constantName = (String) readObject(); if (dump) dumpElementln("CONSTANT NAME = " + constantName); Class clazz = osc.forClass(); Enum instance = Enum.valueOf(clazz, constantName); - assignNewHandle(instance,shared); + rememberHandle(instance, shared, enumHandle); ret_val = instance; break; } diff --git a/libjava/classpath/java/io/ObjectOutput.java b/libjava/classpath/java/io/ObjectOutput.java index 628f8b97b86..4ec6c6f0768 100644 --- a/libjava/classpath/java/io/ObjectOutput.java +++ b/libjava/classpath/java/io/ObjectOutput.java @@ -48,7 +48,8 @@ package java.io; * * @see DataOutput */ -public interface ObjectOutput extends DataOutput +public interface ObjectOutput + extends DataOutput, AutoCloseable { /** * This method writes the specified byte to the output stream. diff --git a/libjava/classpath/java/lang/AssertionError.java b/libjava/classpath/java/lang/AssertionError.java index 778eb583051..cf953f4498b 100644 --- a/libjava/classpath/java/lang/AssertionError.java +++ b/libjava/classpath/java/lang/AssertionError.java @@ -1,5 +1,5 @@ /* AssertionError.java -- indication of a failed assertion - Copyright (C) 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -145,4 +145,16 @@ public class AssertionError extends Error { super(Double.toString(msg)); } + + /** + * Construct an AssertionError with detail message and cause. + * + * @param msg Detail message. + * @param cause The cause of this exception, may be null + * @since 1.7 + */ + public AssertionError(String msg, Throwable cause) + { + super(msg, cause); + } } diff --git a/libjava/classpath/java/lang/AutoCloseable.java b/libjava/classpath/java/lang/AutoCloseable.java new file mode 100644 index 00000000000..4c1ddaa3204 --- /dev/null +++ b/libjava/classpath/java/lang/AutoCloseable.java @@ -0,0 +1,50 @@ +/* AutoCloseable.java -- Resource that must be closed after it is no longer + used. + Copyright (C) 2012 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package java.lang; + +/** + * Resource that must be closed after it is no longer used. + * + * @since 1.7 + */ +public interface AutoCloseable +{ + void close() throws Exception; +} diff --git a/libjava/classpath/java/lang/Boolean.java b/libjava/classpath/java/lang/Boolean.java index f2eaf412592..0e4afa813bf 100644 --- a/libjava/classpath/java/lang/Boolean.java +++ b/libjava/classpath/java/lang/Boolean.java @@ -237,6 +237,21 @@ public final class Boolean implements Serializable, Comparable<Boolean> } /** + * Compares two unboxed boolean values. + * + * @param x First value to compare. + * @param y Second value to compare. + * @return 0 if both Booleans represent the same value, a positive number + * if this Boolean represents true and the other false, and a negative + * number otherwise. + * @since 1.7 + */ + public static int compare(boolean x, boolean y) + { + return Boolean.valueOf(x).compareTo(Boolean.valueOf(y)); + } + + /** * If the String argument is "true", ignoring case, return true. * Otherwise, return false. * diff --git a/libjava/classpath/java/lang/Byte.java b/libjava/classpath/java/lang/Byte.java index a1536e1be1b..01e0e03d2f6 100644 --- a/libjava/classpath/java/lang/Byte.java +++ b/libjava/classpath/java/lang/Byte.java @@ -370,4 +370,21 @@ public final class Byte extends Number implements Comparable<Byte> return value - b.value; } + /** + * Compares two unboxed byte values. + * The result is positive if the first is greater, negative if the second + * is greater, and 0 if the two are equal. + * + * @param x First value to compare. + * @param y Second value to compare. + * + * @return positive int if the first value is greater, negative if the second + * is greater, and 0 if the two are equal. + * @since 1.7 + */ + public static int compare(byte x, byte y) + { + return Byte.valueOf(x).compareTo(Byte.valueOf(y)); + } + } diff --git a/libjava/classpath/java/lang/Character.java b/libjava/classpath/java/lang/Character.java index 05e641c3a48..f87cde62c1e 100644 --- a/libjava/classpath/java/lang/Character.java +++ b/libjava/classpath/java/lang/Character.java @@ -4200,6 +4200,23 @@ public final class Character implements Serializable, Comparable<Character> } /** + * Compares two unboxed char values. + * The result is positive if the first is greater, negative if the second + * is greater, and 0 if the two are equal. + * + * @param x First value to compare. + * @param y Second value to compare. + * + * @return positive int if the first value is greater, negative if the second + * is greater, and 0 if the two are equal. + * @since 1.7 + */ + public static int compare(char x, char y) + { + return Character.valueOf(x).compareTo(Character.valueOf(y)); + } + + /** * Returns an <code>Character</code> object wrapping the value. * In contrast to the <code>Character</code> constructor, this method * will cache some values. It is used by boxing conversion. diff --git a/libjava/classpath/java/lang/ClassNotFoundException.java b/libjava/classpath/java/lang/ClassNotFoundException.java index 142bc5d0306..fe1424dc2b1 100644 --- a/libjava/classpath/java/lang/ClassNotFoundException.java +++ b/libjava/classpath/java/lang/ClassNotFoundException.java @@ -1,5 +1,5 @@ /* ClassNotFoundException.java -- thrown when class definition cannot be found - Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,9 +47,9 @@ package java.lang; * @see Class#forName(String) * @see ClassLoader#findSystemClass(String) * @see ClassLoader#loadClass(String, boolean) - * @status updated to 1.4 + * @status updated to 1.7 */ -public class ClassNotFoundException extends Exception +public class ClassNotFoundException extends ReflectiveOperationException { /** * Compatible with JDK 1.0+. diff --git a/libjava/classpath/java/lang/IllegalAccessException.java b/libjava/classpath/java/lang/IllegalAccessException.java index a352c8b1b31..2574f66047c 100644 --- a/libjava/classpath/java/lang/IllegalAccessException.java +++ b/libjava/classpath/java/lang/IllegalAccessException.java @@ -1,6 +1,6 @@ /* IllegalAccessException.java -- thrown on attempt to reflect on inaccessible data - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,9 +71,9 @@ import java.lang.reflect.Method; * @see Field#getDouble(Object) * @see Method#invoke(Object, Object[]) * @see Constructor#newInstance(Object[]) - * @status updated to 1.4 + * @status updated to 1.7 */ -public class IllegalAccessException extends Exception +public class IllegalAccessException extends ReflectiveOperationException { /** * Compatible with JDK 1.0+. diff --git a/libjava/classpath/java/lang/InstantiationException.java b/libjava/classpath/java/lang/InstantiationException.java index 367b14bd278..cb2cad15432 100644 --- a/libjava/classpath/java/lang/InstantiationException.java +++ b/libjava/classpath/java/lang/InstantiationException.java @@ -1,6 +1,6 @@ /* InstantiationException.java -- thrown when reflection cannot create an instance - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,9 +46,9 @@ package java.lang; * @author Brian Jones * @author Warren Levy (warrenl@cygnus.com) * @see Class#newInstance() - * @status updated to 1.4 + * @status updated to 1.7 */ -public class InstantiationException extends Exception +public class InstantiationException extends ReflectiveOperationException { /** * Compatible with JDK 1.0+. diff --git a/libjava/classpath/java/lang/Integer.java b/libjava/classpath/java/lang/Integer.java index f379795ea3d..25eb5d5265d 100644 --- a/libjava/classpath/java/lang/Integer.java +++ b/libjava/classpath/java/lang/Integer.java @@ -586,6 +586,23 @@ public final class Integer extends Number implements Comparable<Integer> } /** + * Compares two unboxed int values. + * The result is positive if the first is greater, negative if the second + * is greater, and 0 if the two are equal. + * + * @param x First value to compare. + * @param y Second value to compare. + * + * @return positive int if the first value is greater, negative if the second + * is greater, and 0 if the two are equal. + * @since 1.7 + */ + public static int compare(int x, int y) + { + return Integer.valueOf(x).compareTo(Integer.valueOf(y)); + } + + /** * Return the number of bits set in x. * @param x value to examine * @since 1.5 diff --git a/libjava/classpath/java/lang/LinkageError.java b/libjava/classpath/java/lang/LinkageError.java index 028702081ba..34b072572cf 100644 --- a/libjava/classpath/java/lang/LinkageError.java +++ b/libjava/classpath/java/lang/LinkageError.java @@ -1,6 +1,6 @@ /* LinkageError.java -- thrown when classes valid at separate compile times cannot be linked to each other - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,7 @@ package java.lang; * * @author Brian Jones * @author Tom Tromey (tromey@cygnus.com) - * @status updated to 1.4 + * @status updated to 1.7 */ public class LinkageError extends Error { @@ -71,4 +71,17 @@ public class LinkageError extends Error { super(s); } + + /** + * Construct an LinkageError with detail message and cause. + * + * @param msg Detail message. + * @param cause The cause of this exception, may be null + * @since 1.7 + */ + public LinkageError(String msg, Throwable cause) + { + super(msg, cause); + } + } diff --git a/libjava/classpath/java/lang/Long.java b/libjava/classpath/java/lang/Long.java index e7579d86556..6f31dfa9953 100644 --- a/libjava/classpath/java/lang/Long.java +++ b/libjava/classpath/java/lang/Long.java @@ -585,6 +585,23 @@ public final class Long extends Number implements Comparable<Long> } /** + * Compares two unboxed long values. + * The result is positive if the first is greater, negative if the second + * is greater, and 0 if the two are equal. + * + * @param x First value to compare. + * @param y Second value to compare. + * + * @return positive int if the first value is greater, negative if the second + * is greater, and 0 if the two are equal. + * @since 1.7 + */ + public static int compare(long x, long y) + { + return Long.valueOf(x).compareTo(Long.valueOf(y)); + } + + /** * Return the number of bits set in x. * @param x value to examine * @since 1.5 diff --git a/libjava/classpath/java/lang/NoSuchFieldException.java b/libjava/classpath/java/lang/NoSuchFieldException.java index 74d52d137c4..b43b53206ad 100644 --- a/libjava/classpath/java/lang/NoSuchFieldException.java +++ b/libjava/classpath/java/lang/NoSuchFieldException.java @@ -1,5 +1,5 @@ /* NoSuchFieldException.java -- thrown when reflecting a non-existant field - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,9 +45,9 @@ package java.lang; * @author Brian Jones * @author Warren Levy (warrenl@cygnus.com) * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.7 */ -public class NoSuchFieldException extends Exception +public class NoSuchFieldException extends ReflectiveOperationException { /** * Compatible with JDK 1.1+. diff --git a/libjava/classpath/java/lang/NoSuchMethodException.java b/libjava/classpath/java/lang/NoSuchMethodException.java index e423efb79f6..116238220be 100644 --- a/libjava/classpath/java/lang/NoSuchMethodException.java +++ b/libjava/classpath/java/lang/NoSuchMethodException.java @@ -1,5 +1,5 @@ /* NoSuchMethodException.java -- thrown when reflecting a non-existant method - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,9 +44,9 @@ package java.lang; * * @author Brian Jones * @author Warren Levy (warrenl@cygnus.com) - * @status updated to 1.4 + * @status updated to 1.7 */ -public class NoSuchMethodException extends Exception +public class NoSuchMethodException extends ReflectiveOperationException { /** * Compatible with JDK 1.0+. diff --git a/libjava/classpath/java/lang/ReflectiveOperationException.java b/libjava/classpath/java/lang/ReflectiveOperationException.java new file mode 100644 index 00000000000..8b84c0e290f --- /dev/null +++ b/libjava/classpath/java/lang/ReflectiveOperationException.java @@ -0,0 +1,88 @@ +/* ReflectiveOperationException.java -- thrown when reflective operation fails + Copyright (C) 2012 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package java.lang; + +/** + * This exception is thrown when reflective operations fail. + * + * @since 1.7 + */ +public class ReflectiveOperationException extends Exception +{ + private static final long serialVersionUID = 123456789L; + + /** + * Create an exception without a message. + */ + public ReflectiveOperationException() + { + } + + /** + * Create an exception with a message. + * + * @param s the message + */ + public ReflectiveOperationException(String s) + { + super(s); + } + + /** + * Create an exception with a message and a cause. + * + * @param s the message + * @param cause the cause, may be null + */ + public ReflectiveOperationException(String message, Throwable cause) + { + super(message, cause); + } + + /** + * Create an exception with a cause. + * + * @param cause the cause, may be null + */ + public ReflectiveOperationException(Throwable cause) + { + super(cause); + } + +} diff --git a/libjava/classpath/java/lang/Short.java b/libjava/classpath/java/lang/Short.java index ec87f933e93..fae9fe7635b 100644 --- a/libjava/classpath/java/lang/Short.java +++ b/libjava/classpath/java/lang/Short.java @@ -373,6 +373,23 @@ public final class Short extends Number implements Comparable<Short> } /** + * Compares two unboxed short values. + * The result is positive if the first is greater, negative if the second + * is greater, and 0 if the two are equal. + * + * @param x First value to compare. + * @param y Second value to compare. + * + * @return positive int if the first value is greater, negative if the second + * is greater, and 0 if the two are equal. + * @since 1.7 + */ + public static int compare(short x, short y) + { + return Short.valueOf(x).compareTo(Short.valueOf(y)); + } + + /** * Reverse the bytes in val. * @since 1.5 */ diff --git a/libjava/classpath/java/lang/String.java b/libjava/classpath/java/lang/String.java index 45c0daff673..27294cdd4eb 100644 --- a/libjava/classpath/java/lang/String.java +++ b/libjava/classpath/java/lang/String.java @@ -705,6 +705,8 @@ public final class String */ public synchronized int codePointAt(int index) { + if (index < 0 || index >= count) + throw new StringIndexOutOfBoundsException(index); // Use the CharSequence overload as we get better range checking // this way. return Character.codePointAt(this, index); @@ -716,12 +718,14 @@ public final class String * <code>index-2</code> to see if they form a supplementary code point. * @param index the index just past the codepoint to get, starting at 0 * @return the codepoint at the specified index - * @throws IndexOutOfBoundsException if index is negative or >= length() + * @throws IndexOutOfBoundsException if index is less than 1 or > length() * (while unspecified, this is a StringIndexOutOfBoundsException) * @since 1.5 */ public synchronized int codePointBefore(int index) { + if (index < 1 || index > count) + throw new StringIndexOutOfBoundsException(index); // Use the CharSequence overload as we get better range checking // this way. return Character.codePointBefore(this, index); diff --git a/libjava/classpath/java/lang/System.java b/libjava/classpath/java/lang/System.java index 51b3259fa8b..9d869918300 100644 --- a/libjava/classpath/java/lang/System.java +++ b/libjava/classpath/java/lang/System.java @@ -97,6 +97,8 @@ public final class System */ public static final PrintStream out = VMSystem.makeStandardOutputStream(); + private static final String LINE_SEPARATOR = SystemProperties.getProperty("line.separator"); + /** * The standard output PrintStream. This is assigned at startup and * starts its life perfectly valid. Although it is marked final, you can @@ -713,6 +715,16 @@ public final class System } /** + * Returns the system-dependent line separator. + * + * @return the system-dependent line separator. + */ + public static String lineSeparator() + { + return LINE_SEPARATOR; + } + + /** * This is a specialised <code>Collection</code>, providing * the necessary provisions for the collections used by the * environment variable map. Namely, it prevents diff --git a/libjava/classpath/java/lang/reflect/InvocationTargetException.java b/libjava/classpath/java/lang/reflect/InvocationTargetException.java index af79d3a199d..4480fc6d006 100644 --- a/libjava/classpath/java/lang/reflect/InvocationTargetException.java +++ b/libjava/classpath/java/lang/reflect/InvocationTargetException.java @@ -1,5 +1,5 @@ /* InvocationTargetException.java -- Wrapper exception for reflection - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,9 +50,9 @@ package java.lang.reflect; * @see Method#invoke(Object,Object[]) * @see Constructor#newInstance(Object[]) * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.7 */ -public class InvocationTargetException extends Exception +public class InvocationTargetException extends ReflectiveOperationException { /** * Compatible with JDK 1.1+. diff --git a/libjava/classpath/java/lang/reflect/Member.java b/libjava/classpath/java/lang/reflect/Member.java index fed962cf913..945fbf69663 100644 --- a/libjava/classpath/java/lang/reflect/Member.java +++ b/libjava/classpath/java/lang/reflect/Member.java @@ -79,7 +79,7 @@ public interface Member * * @return the class that declared this member */ - Class getDeclaringClass(); + Class<?> getDeclaringClass(); /** * Gets the simple name of this member. This will be a valid Java diff --git a/libjava/classpath/java/lang/reflect/Modifier.java b/libjava/classpath/java/lang/reflect/Modifier.java index 15bad05e738..c75f7b81823 100644 --- a/libjava/classpath/java/lang/reflect/Modifier.java +++ b/libjava/classpath/java/lang/reflect/Modifier.java @@ -1,5 +1,5 @@ /* java.lang.reflect.Modifier - Copyright (C) 1998, 1999, 2001, 2002, 2005, 2008 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2008, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -300,6 +300,46 @@ public class Modifier } /** + * @since 1.7 + */ + public static int classModifiers() + { + return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | FINAL | STRICT; + } + + /** + * @since 1.7 + */ + public static int interfaceModifiers() + { + return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | STRICT; + } + + /** + * @since 1.7 + */ + public static int constructorModifiers() + { + return PUBLIC | PROTECTED | PRIVATE; + } + + /** + * @since 1.7 + */ + public static int methodModifiers() + { + return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | FINAL | STRICT | SYNCHRONIZED | NATIVE; + } + + /** + * @since 1.7 + */ + public static int fieldModifiers() + { + return PUBLIC | PROTECTED | PRIVATE | STATIC | FINAL | TRANSIENT | VOLATILE; + } + + /** * Get a string representation of all the modifiers represented by the * given int. The keywords are printed in this order: * <code><public|protected|private> abstract static final transient diff --git a/libjava/classpath/java/nio/channels/FileLock.java b/libjava/classpath/java/nio/channels/FileLock.java index 78210b34d4d..02b561a5690 100644 --- a/libjava/classpath/java/nio/channels/FileLock.java +++ b/libjava/classpath/java/nio/channels/FileLock.java @@ -45,6 +45,7 @@ import java.io.IOException; * @since 1.4 */ public abstract class FileLock + implements AutoCloseable { private final FileChannel channel; private final long position; diff --git a/libjava/classpath/java/sql/Connection.java b/libjava/classpath/java/sql/Connection.java index f3752762597..b1e7034b5a3 100644 --- a/libjava/classpath/java/sql/Connection.java +++ b/libjava/classpath/java/sql/Connection.java @@ -46,6 +46,7 @@ import java.util.Map; * @author Aaron M. Renn (arenn@urbanophile.com) */ public interface Connection + extends AutoCloseable { /** * This transaction isolation level indicates that transactions are not diff --git a/libjava/classpath/java/sql/ResultSet.java b/libjava/classpath/java/sql/ResultSet.java index 3b49a6a0d6c..c487bed6b94 100644 --- a/libjava/classpath/java/sql/ResultSet.java +++ b/libjava/classpath/java/sql/ResultSet.java @@ -60,6 +60,7 @@ import java.util.Map; * @author Aaron M. Renn (arenn@urbanophile.com) */ public interface ResultSet + extends AutoCloseable { /** * The rows will be processed in order from first to last. diff --git a/libjava/classpath/java/sql/Statement.java b/libjava/classpath/java/sql/Statement.java index 1b57fb3ce3c..5f35e7b187d 100644 --- a/libjava/classpath/java/sql/Statement.java +++ b/libjava/classpath/java/sql/Statement.java @@ -44,6 +44,7 @@ package java.sql; * @author Aaron M. Renn (arenn@urbanophile.com) */ public interface Statement + extends AutoCloseable { int CLOSE_CURRENT_RESULT = 1; int KEEP_CURRENT_RESULT = 2; diff --git a/libjava/classpath/java/text/AttributedString.java b/libjava/classpath/java/text/AttributedString.java index 7ffb3d4c073..4293d7dd253 100644 --- a/libjava/classpath/java/text/AttributedString.java +++ b/libjava/classpath/java/text/AttributedString.java @@ -1,5 +1,5 @@ /* AttributedString.java -- Models text with attributes - Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004, 2005, 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,8 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; +import static java.text.AttributedCharacterIterator.Attribute; + /** * This class models a <code>String</code> with attributes over various * subranges of the string. It allows applications to access this @@ -68,7 +70,7 @@ public class AttributedString { /** A Map of the attributes */ - Map attribs; + Map<? extends Attribute, ?> attribs; /** The beginning index of the attributes */ int beginIndex; @@ -83,7 +85,8 @@ public class AttributedString * @param beginIndex the start index. * @param endIndex the end index. */ - AttributeRange(Map attribs, int beginIndex, int endIndex) + AttributeRange(Map<? extends Attribute, ?> attribs, + int beginIndex, int endIndex) { this.attribs = attribs; this.beginIndex = beginIndex; @@ -122,7 +125,7 @@ public class AttributedString * @param attributes The attribute list. */ public AttributedString(String str, - Map<? extends AttributedCharacterIterator.Attribute, ?> attributes) + Map<? extends Attribute, ?> attributes) { this(str); @@ -178,7 +181,7 @@ public class AttributedString * <code>null</code> to include all attributes. */ public AttributedString(AttributedCharacterIterator aci, int begin, int end, - AttributedCharacterIterator.Attribute[] attributes) + Attribute[] attributes) { // Validate some arguments if ((begin < 0) || (end < begin) || end > aci.getEndIndex()) @@ -187,29 +190,28 @@ public class AttributedString CPStringBuilder sb = new CPStringBuilder(""); // Get the valid attribute list - Set allAttribs = aci.getAllAttributeKeys(); + Set<Attribute> allAttribs = aci.getAllAttributeKeys(); if (attributes != null) allAttribs.retainAll(Arrays.asList(attributes)); // Loop through and extract the attributes char c = aci.setIndex(begin); - ArrayList accum = new ArrayList(); + ArrayList<AttributeRange> accum = new ArrayList<AttributeRange>(); do { sb.append(c); - Iterator iter = allAttribs.iterator(); + Iterator<Attribute> iter = allAttribs.iterator(); while(iter.hasNext()) { Object obj = iter.next(); // What should we do if this is not true? - if (!(obj instanceof AttributedCharacterIterator.Attribute)) + if (!(obj instanceof Attribute)) continue; - AttributedCharacterIterator.Attribute attrib = - (AttributedCharacterIterator.Attribute)obj; + Attribute attrib = (Attribute)obj; // Make sure the attribute is defined. Object attribObj = aci.getAttribute(attrib); @@ -237,7 +239,7 @@ public class AttributedString } // Create a map object. Yes this will only contain one attribute - Map newMap = new Hashtable(); + Map<Attribute,Object> newMap = new Hashtable<Attribute,Object>(); newMap.put(attrib, attribObj); // Add it to the attribute list. @@ -249,7 +251,7 @@ public class AttributedString while( aci.getIndex() < end ); attribs = new AttributeRange[accum.size()]; - attribs = (AttributeRange[]) accum.toArray(attribs); + attribs = accum.toArray(attribs); sci = new StringCharacterIterator(sb.toString()); } @@ -260,8 +262,7 @@ public class AttributedString * @param attrib The attribute to add. * @param value The value of the attribute. */ - public void addAttribute(AttributedCharacterIterator.Attribute attrib, - Object value) + public void addAttribute(Attribute attrib, Object value) { addAttribute(attrib, value, 0, sci.getEndIndex()); } @@ -278,14 +279,13 @@ public class AttributedString * @exception IllegalArgumentException If attribute is <code>null</code> or * the subrange is not valid. */ - public void addAttribute(AttributedCharacterIterator.Attribute attrib, - Object value, int begin, int end) + public void addAttribute(Attribute attrib, Object value, int begin, int end) { if (attrib == null) throw new IllegalArgumentException("null attribute"); if (end <= begin) throw new IllegalArgumentException("Requires end > begin"); - HashMap hm = new HashMap(); + HashMap<Attribute,Object> hm = new HashMap<Attribute,Object>(); hm.put(attrib, value); addAttributes(hm, begin, end); @@ -303,7 +303,7 @@ public class AttributedString * <code>null</code>. * @throws IllegalArgumentException if the subrange is not valid. */ - public void addAttributes(Map<? extends AttributedCharacterIterator.Attribute, ?> attributes, + public void addAttributes(Map<? extends Attribute, ?> attributes, int beginIndex, int endIndex) { if (attributes == null) @@ -343,8 +343,7 @@ public class AttributedString * * @return An <code>AttributedCharacterIterator</code> for this string. */ - public AttributedCharacterIterator getIterator( - AttributedCharacterIterator.Attribute[] attributes) + public AttributedCharacterIterator getIterator(Attribute[] attributes) { return(getIterator(attributes, 0, sci.getEndIndex())); } @@ -363,8 +362,7 @@ public class AttributedString * * @return An <code>AttributedCharacterIterator</code> for this string. */ - public AttributedCharacterIterator getIterator( - AttributedCharacterIterator.Attribute[] attributes, + public AttributedCharacterIterator getIterator(Attribute[] attributes, int beginIndex, int endIndex) { if ((beginIndex < 0) || (endIndex > sci.getEndIndex()) || diff --git a/libjava/classpath/java/text/AttributedStringIterator.java b/libjava/classpath/java/text/AttributedStringIterator.java index 429bd7063db..6d402cbca5d 100644 --- a/libjava/classpath/java/text/AttributedStringIterator.java +++ b/libjava/classpath/java/text/AttributedStringIterator.java @@ -1,5 +1,5 @@ /* AttributedStringIterator.java -- Class to iterate over AttributedString - Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004, 2005, 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,8 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; +import static java.text.AttributedCharacterIterator.Attribute; + /** * This class implements the AttributedCharacterIterator interface. It * is used by AttributedString.getIterator(). @@ -67,7 +69,7 @@ class AttributedStringIterator implements AttributedCharacterIterator * The list of attributes that the user is interested in. We may, * at our option, not return any other attributes. */ - private AttributedCharacterIterator.Attribute[] restricts; + private Attribute[] restricts; /*************************************************************************/ @@ -155,9 +157,9 @@ class AttributedStringIterator implements AttributedCharacterIterator * Returns a list of all the attribute keys that are defined anywhere * on this string. */ - public Set getAllAttributeKeys() + public Set<Attribute> getAllAttributeKeys() { - HashSet s = new HashSet(); + HashSet<Attribute> s = new HashSet<Attribute>(); if (attribs == null) return(s); @@ -167,8 +169,7 @@ class AttributedStringIterator implements AttributedCharacterIterator || attribs[i].endIndex <= getBeginIndex()) continue; - Set key_set = attribs[i].attribs.keySet(); - Iterator iter = key_set.iterator(); + Iterator<? extends Attribute> iter = attribs[i].attribs.keySet().iterator(); while (iter.hasNext()) { s.add(iter.next()); @@ -190,14 +191,14 @@ class AttributedStringIterator implements AttributedCharacterIterator return getRunLimit(getAllAttributeKeys()); } - public int getRunLimit(AttributedCharacterIterator.Attribute attrib) + public int getRunLimit(Attribute attrib) { - HashSet s = new HashSet(); + HashSet<Attribute> s = new HashSet<Attribute>(); s.add(attrib); return(getRunLimit(s)); } - public synchronized int getRunLimit(Set attributeSet) + public synchronized int getRunLimit(Set<? extends Attribute> attributeSet) { if (attributeSet == null) return ci.getEndIndex(); @@ -207,13 +208,13 @@ class AttributedStringIterator implements AttributedCharacterIterator int limit = current; if (current == end) return end; - Map runValues = getAttributes(); + Map<Attribute,Object> runValues = getAttributes(); while (limit < end) { - Iterator iterator = attributeSet.iterator(); + Iterator<? extends Attribute> iterator = attributeSet.iterator(); while (iterator.hasNext()) { - Attribute attributeKey = (Attribute) iterator.next(); + Attribute attributeKey = iterator.next(); Object v1 = runValues.get(attributeKey); Object v2 = getAttribute(attributeKey, limit + 1); boolean changed = false; @@ -262,11 +263,11 @@ class AttributedStringIterator implements AttributedCharacterIterator * * return The index of the first character in the run. */ - public int getRunStart(AttributedCharacterIterator.Attribute attrib) + public int getRunStart(Attribute attrib) { if (attrib == null) return ci.getBeginIndex(); - HashSet s = new HashSet(); + HashSet<Attribute> s = new HashSet<Attribute>(); s.add(attrib); return(getRunStart(s)); } @@ -279,7 +280,7 @@ class AttributedStringIterator implements AttributedCharacterIterator * * return The index of the first character in the run. */ - public int getRunStart(Set attributeSet) + public int getRunStart(Set<? extends Attribute> attributeSet) { if (attributeSet == null) return ci.getBeginIndex(); @@ -289,14 +290,14 @@ class AttributedStringIterator implements AttributedCharacterIterator int start = current; if (start == begin) return begin; - Map runValues = getAttributes(); + Map<Attribute, Object> runValues = getAttributes(); int prev = start - 1; while (start > begin) { - Iterator iterator = attributeSet.iterator(); + Iterator<? extends Attribute> iterator = attributeSet.iterator(); while (iterator.hasNext()) { - Attribute attributeKey = (Attribute) iterator.next(); + Attribute attributeKey = iterator.next(); Object v1 = runValues.get(attributeKey); Object v2 = getAttribute(attributeKey, prev); boolean changed = false; @@ -340,7 +341,7 @@ class AttributedStringIterator implements AttributedCharacterIterator { if (pos >= attribs[i].beginIndex && pos < attribs[i].endIndex) { - Set keys = attribs[i].attribs.keySet(); + Set<? extends Attribute> keys = attribs[i].attribs.keySet(); if (keys.contains(key)) { return attribs[i].attribs.get(key); @@ -370,9 +371,9 @@ class AttributedStringIterator implements AttributedCharacterIterator * Return a list of all the attributes and values defined for this * character */ - public Map getAttributes() + public Map<Attribute,Object> getAttributes() { - HashMap m = new HashMap(); + HashMap<Attribute,Object> m = new HashMap<Attribute,Object>(); if (attribs == null) return(m); diff --git a/libjava/classpath/java/text/Bidi.java b/libjava/classpath/java/text/Bidi.java index 6a7bd075069..236247d5ea0 100644 --- a/libjava/classpath/java/text/Bidi.java +++ b/libjava/classpath/java/text/Bidi.java @@ -1,5 +1,5 @@ /* Bidi.java -- Bidirectional Algorithm implementation - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -109,7 +109,7 @@ public final class Bidi // A list of indices where a formatting code was found. These // are indicies into the original text -- not into the text after // the codes have been removed. - private ArrayList formatterIndices; + private ArrayList<Integer> formatterIndices; // Indices of the starts of runs in the text. private int[] runs; @@ -161,13 +161,13 @@ public final class Bidi if (val instanceof NumericShaper) shaper = (NumericShaper) val; - char[] text = new char[iter.getEndIndex() - iter.getBeginIndex()]; - this.embeddings = new byte[this.text.length]; - this.embeddingOffset = 0; - this.length = text.length; - for (int i = 0; i < this.text.length; ++i) + text = new char[iter.getEndIndex() - iter.getBeginIndex()]; + embeddings = new byte[text.length]; + embeddingOffset = 0; + length = text.length; + for (int i = 0; i < text.length; ++i) { - this.text[i] = iter.current(); + text[i] = iter.current(); val = iter.getAttribute(TextAttribute.BIDI_EMBEDDING); if (val instanceof Integer) @@ -178,13 +178,13 @@ public final class Bidi bval = 0; else bval = (byte) ival; - this.embeddings[i] = bval; + embeddings[i] = bval; } } // Invoke the numeric shaper, if specified. if (shaper != null) - shaper.shape(this.text, 0, this.length); + shaper.shape(text, 0, length); runBidi(); } @@ -404,7 +404,7 @@ public final class Bidi { // Mark this character for removal. if (formatterIndices == null) - formatterIndices = new ArrayList(); + formatterIndices = new ArrayList<Integer>(); formatterIndices.add(Integer.valueOf(i)); } else if (directionalOverride != -1) @@ -427,7 +427,7 @@ public final class Bidi if (i == size) nextFmt = length; else - nextFmt = ((Integer) formatterIndices.get(i)).intValue(); + nextFmt = formatterIndices.get(i).intValue(); // Non-formatter codes are from 'input' to 'nextFmt'. int len = nextFmt - input; System.arraycopy(levels, input, levels, output, len); @@ -716,7 +716,7 @@ public final class Bidi // Process from the end as we are copying the array over itself here. for (int index = formatterIndices.size() - 1; index >= 0; --index) { - int nextFmt = ((Integer) formatterIndices.get(index)).intValue(); + int nextFmt = formatterIndices.get(index).intValue(); // nextFmt points to a location in the original array. So, // nextFmt+1 is the target of our copying. output is the location diff --git a/libjava/classpath/java/text/BreakIterator.java b/libjava/classpath/java/text/BreakIterator.java index 628cb723513..6fed88f82d9 100644 --- a/libjava/classpath/java/text/BreakIterator.java +++ b/libjava/classpath/java/text/BreakIterator.java @@ -1,5 +1,5 @@ /* BreakIterator.java -- Breaks text into elements - Copyright (C) 1998, 1999, 2001, 2004, 2005, 2007 + Copyright (C) 1998, 1999, 2001, 2004, 2005, 2007, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -160,7 +160,7 @@ public abstract class BreakIterator implements Cloneable } try { - Class k = Class.forName(className); + Class<?> k = Class.forName(className); return (BreakIterator) k.newInstance(); } catch (ClassNotFoundException x1) diff --git a/libjava/classpath/java/text/ChoiceFormat.java b/libjava/classpath/java/text/ChoiceFormat.java index 4842f491d9c..c6a508cb89a 100644 --- a/libjava/classpath/java/text/ChoiceFormat.java +++ b/libjava/classpath/java/text/ChoiceFormat.java @@ -1,5 +1,5 @@ /* ChoiceFormat.java -- Format over a range of numbers - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -98,8 +98,8 @@ public class ChoiceFormat extends NumberFormat // This isn't explicitly documented. But for instance we accept // '#' as a literal hash in a format string. int index = 0, max = newPattern.length(); - Vector stringVec = new Vector (); - Vector limitVec = new Vector (); + Vector<String> stringVec = new Vector<String> (); + Vector<Double> limitVec = new Vector<Double> (); final CPStringBuilder buf = new CPStringBuilder (); while (true) @@ -159,7 +159,7 @@ public class ChoiceFormat extends NumberFormat choiceLimits = new double[limitVec.size()]; for (int i = 0; i < choiceLimits.length; ++i) { - Double d = (Double) limitVec.elementAt(i); + Double d = limitVec.elementAt(i); choiceLimits[i] = d.doubleValue(); } } diff --git a/libjava/classpath/java/text/CollationElementIterator.java b/libjava/classpath/java/text/CollationElementIterator.java index 0ca23d07402..42452e9dcdb 100644 --- a/libjava/classpath/java/text/CollationElementIterator.java +++ b/libjava/classpath/java/text/CollationElementIterator.java @@ -1,5 +1,5 @@ /* CollationElementIterator.java -- Walks through collation elements - Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation + Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2012 Free Software Foundation This file is part of GNU Classpath. @@ -91,12 +91,12 @@ public final class CollationElementIterator * Array containing the collation decomposition of the * text given to the constructor. */ - private RuleBasedCollator.CollationElement[] text_decomposition; + private RuleBasedCollator.CollationElement[] textDecomposition; /** * Array containing the index of the specified block. */ - private int[] text_indexes; + private int[] textIndexes; /** * This method initializes a new instance of <code>CollationElementIterator</code> @@ -130,12 +130,12 @@ public final class CollationElementIterator RuleBasedCollator.CollationElement nextBlock() { - if (index >= text_decomposition.length) + if (index >= textDecomposition.length) return null; - RuleBasedCollator.CollationElement e = text_decomposition[index]; + RuleBasedCollator.CollationElement e = textDecomposition[index]; - textIndex = text_indexes[index+1]; + textIndex = textIndexes[index+1]; index++; @@ -148,9 +148,9 @@ public final class CollationElementIterator return null; index--; - RuleBasedCollator.CollationElement e = text_decomposition[index]; + RuleBasedCollator.CollationElement e = textDecomposition[index]; - textIndex = text_indexes[index+1]; + textIndex = textIndexes[index+1]; return e; } @@ -268,23 +268,23 @@ public final class CollationElementIterator String work_text = text.intern(); - ArrayList a_element = new ArrayList(); - ArrayList a_idx = new ArrayList(); + ArrayList<RuleBasedCollator.CollationElement> aElement = new ArrayList<RuleBasedCollator.CollationElement>(); + ArrayList<Integer> aIdx = new ArrayList<Integer>(); // Build element collection ordered as they come in "text". while (idx < work_text.length()) { - String key, key_old; + String key, keyOld; Object object = null; int p = 1; // IMPROVE: use a TreeMap with a prefix-ordering rule. - key_old = key = null; + keyOld = key = null; do { if (object != null) - key_old = key; + keyOld = key; key = work_text.substring (idx, idx+p); object = collator.prefix_tree.get (key); if (object != null && idx < alreadyExpanded) @@ -294,7 +294,7 @@ public final class CollationElementIterator prefix.expansion.startsWith(work_text.substring(0, idx))) { object = null; - key = key_old; + key = keyOld; } } p++; @@ -302,7 +302,7 @@ public final class CollationElementIterator while (idx+p <= work_text.length()); if (object == null) - key = key_old; + key = keyOld; RuleBasedCollator.CollationElement prefix = (RuleBasedCollator.CollationElement) collator.prefix_tree.get (key); @@ -322,8 +322,8 @@ public final class CollationElementIterator RuleBasedCollator.CollationElement e = collator.getDefaultAccentedElement (work_text.charAt (idx)); - a_element.add (e); - a_idx.add (new Integer(idx_idx)); + aElement.add (e); + aIdx.add (Integer.valueOf(idx_idx)); idx++; alreadyExpanded--; if (alreadyExpanded == 0) @@ -342,15 +342,15 @@ public final class CollationElementIterator /* This is a normal character. */ RuleBasedCollator.CollationElement e = collator.getDefaultElement (work_text.charAt (idx)); - Integer i_ref = new Integer(idx_idx); + Integer iRef = Integer.valueOf(idx_idx); /* Don't forget to mark it as a special sequence so the * string can be ordered. */ - a_element.add (RuleBasedCollator.SPECIAL_UNKNOWN_SEQ); - a_idx.add (i_ref); - a_element.add (e); - a_idx.add (i_ref); + aElement.add (RuleBasedCollator.SPECIAL_UNKNOWN_SEQ); + aIdx.add (iRef); + aElement.add (e); + aIdx.add (iRef); idx_idx++; idx++; } @@ -367,8 +367,8 @@ public final class CollationElementIterator work_text = prefix.expansion + work_text.substring (idx+prefix.key.length()); idx = 0; - a_element.add (prefix); - a_idx.add (new Integer(idx_idx)); + aElement.add (prefix); + aIdx.add (Integer.valueOf(idx_idx)); if (alreadyExpanded == 0) idxToMove = prefix.key.length(); alreadyExpanded += prefix.expansion.length()-prefix.key.length(); @@ -378,8 +378,8 @@ public final class CollationElementIterator /* Third case: the simplest. We have got the prefix and it * has not to be expanded. */ - a_element.add (prefix); - a_idx.add (new Integer(idx_idx)); + aElement.add (prefix); + aIdx.add (Integer.valueOf(idx_idx)); idx += prefix.key.length(); /* If the sequence is in an expansion, we must decrease the * counter. @@ -398,14 +398,13 @@ public final class CollationElementIterator } } - text_decomposition = (RuleBasedCollator.CollationElement[]) - a_element.toArray(new RuleBasedCollator.CollationElement[a_element.size()]); - text_indexes = new int[a_idx.size()+1]; - for (int i = 0; i < a_idx.size(); i++) + textDecomposition = aElement.toArray(new RuleBasedCollator.CollationElement[aElement.size()]); + textIndexes = new int[aIdx.size()+1]; + for (int i = 0; i < aIdx.size(); i++) { - text_indexes[i] = ((Integer)a_idx.get(i)).intValue(); + textIndexes[i] = aIdx.get(i).intValue(); } - text_indexes[a_idx.size()] = text.length(); + textIndexes[aIdx.size()] = text.length(); } /** @@ -460,19 +459,19 @@ public final class CollationElementIterator if (offset > (text.getEndIndex() - 1)) throw new IllegalArgumentException("Offset too large: " + offset); - for (index = 0; index < text_decomposition.length; index++) + for (index = 0; index < textDecomposition.length; index++) { - if (offset <= text_indexes[index]) + if (offset <= textIndexes[index]) break; } /* - * As text_indexes[0] == 0, we should not have to take care whether index is + * As textIndexes[0] == 0, we should not have to take care whether index is * greater than 0. It is always. */ - if (text_indexes[index] == offset) + if (textIndexes[index] == offset) textIndex = offset; else - textIndex = text_indexes[index-1]; + textIndex = textIndexes[index-1]; } /** diff --git a/libjava/classpath/java/text/DateFormatSymbols.java b/libjava/classpath/java/text/DateFormatSymbols.java index 53e7ba07c8c..9d0ace65a3e 100644 --- a/libjava/classpath/java/text/DateFormatSymbols.java +++ b/libjava/classpath/java/text/DateFormatSymbols.java @@ -56,6 +56,11 @@ import java.util.ResourceBundle; import java.util.ServiceLoader; import java.util.TimeZone; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentHashMap; + +import java.util.regex.Pattern; + import java.util.spi.TimeZoneNameProvider; /** @@ -71,14 +76,6 @@ import java.util.spi.TimeZoneNameProvider; */ public class DateFormatSymbols implements java.io.Serializable, Cloneable { - String[] ampms; - String[] eras; - private String localPatternChars; - String[] months; - String[] shortMonths; - String[] shortWeekdays; - String[] weekdays; - /** * The set of properties for obtaining the metazone data. */ @@ -100,6 +97,173 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable } } + private static final Pattern ZONE_SEP = Pattern.compile("\u00a9"); + + private static final Pattern FIELD_SEP = Pattern.compile("\u00ae"); + + /** + * Class for storing DateFormatSymbols data parsed from the property files. + */ + private static class DFSData + { + private String[] ampms; + private String[] eras; + private String localPatternChars; + private String[] months; + private String[] shortMonths; + private String[] weekdays; + private String[] shortWeekdays; + private String[] dateFormats; + private String[] timeFormats; + private String[][] runtimeZoneStrings; + + /** + * Construct a new instance with the parsed data. + * + * @param ampms strings for "am" and "pm". + * @param eras strings for calendar eras. + * @param localPatternChars localised pattern characters. + * @param months strings for the months of the year. + * @param shortMonths short strings for the months of the year. + * @param weekdays strings for the days of the week. + * @param shortWeekdays short strings for the days of the week. + * @param dateFormats localised date formats. + * @param timeFormats localised time formats. + * @param runtimeZoneStrings localised time zone names. + */ + public DFSData(String[] ampms, String[] eras, String localPatternChars, + String[] months, String[] shortMonths, String[] weekdays, + String[] shortWeekdays, String[] dateFormats, + String[] timeFormats, String[][] runtimeZoneStrings) + { + this.ampms = ampms; + this.eras = eras; + this.localPatternChars = localPatternChars; + this.months = months; + this.shortMonths = shortMonths; + this.weekdays = weekdays; + this.shortWeekdays = shortWeekdays; + this.dateFormats = dateFormats; + this.timeFormats = timeFormats; + this.runtimeZoneStrings = runtimeZoneStrings; + } + + /** + * Accessor for the AM/PM data. + * + * @return the AM/PM strings. + */ + public String[] getAMPMs() + { + return ampms.clone(); + } + + /** + * Accessor for the era data. + * + * @return the era strings. + */ + public String[] getEras() + { + return eras.clone(); + } + + /** + * Accessor for the local pattern characters. + * + * @return the local pattern characters. + */ + public String getLocalPatternChars() + { + return localPatternChars; + } + + /** + * Accessor for the months of the year (long form). + * + * @return the months of the year (long form). + */ + public String[] getMonths() + { + return months.clone(); + } + + /** + * Accessor for the months of the year (short form). + * + * @return the months of the year (short form). + */ + public String[] getShortMonths() + { + return shortMonths.clone(); + } + + /** + * Accessor for the days of the week (long form). + * + * @return the days of the week (long form). + */ + public String[] getWeekdays() + { + return weekdays.clone(); + } + + /** + * Accessor for the days of the week (short form). + * + * @return the days of the week (short form). + */ + public String[] getShortWeekdays() + { + return shortWeekdays.clone(); + } + + /** + * Accessor for the date formats. + * + * @return the date formats. + */ + public String[] getDateFormats() + { + return dateFormats.clone(); + } + + /** + * Accessor for the time formats. + * + * @return the time formats. + */ + public String[] getTimeFormats() + { + return timeFormats.clone(); + } + + /** + * Accessor for the zone strings. + * + * @return the zone strings. + */ + public String[][] getZoneStrings() + { + // Perform a deep clone so subarrays aren't modifiable + String[][] clone = runtimeZoneStrings.clone(); + for (int a = 0; a < clone.length; ++a) + clone[a] = runtimeZoneStrings[a].clone(); + return clone; + } + + } + + private static final ConcurrentMap<Locale, DFSData> dataCache = new ConcurrentHashMap<Locale, DFSData>(); + + String[] ampms; + String[] eras; + private String localPatternChars; + String[] months; + String[] shortMonths; + String[] shortWeekdays; + String[] weekdays; + /** * The timezone strings supplied by the runtime. */ @@ -161,7 +325,7 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable for (int a = 0; a < bundles.size(); ++a) { String localeData = bundles.get(a).getString(name); - String[] array = localeData.split("\u00ae", size); + String[] array = FIELD_SEP.split(localeData, size); for (int b = 0; b < data.length; ++b) { if (array.length > b && array[b] != null && data[b].isEmpty() && !array[b].isEmpty()) @@ -180,21 +344,20 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable return data; } - private String[][] getZoneStrings(ResourceBundle res, Locale locale) + private static String[][] getZoneStrings(List<ResourceBundle> bundles, Locale locale) { List<String[]> allZones = new ArrayList<String[]>(); try { Map<String,String[]> systemZones = new HashMap<String,String[]>(); - while (true) + for (ResourceBundle bundle : bundles) { - int index = 0; String country = locale.getCountry(); - String data = res.getString("zoneStrings"); - String[] zones = data.split("\u00a9"); + String data = bundle.getString("zoneStrings"); + String[] zones = ZONE_SEP.split(data); for (int a = 0; a < zones.length; ++a) { - String[] strings = zones[a].split("\u00ae"); + String[] strings = FIELD_SEP.split(zones[a]); String type = properties.getProperty(strings[0] + "." + country); if (type == null) type = properties.getProperty(strings[0] + ".DEFAULT"); @@ -217,12 +380,6 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable } systemZones.put(strings[0], strings); } - if (res.getLocale() == Locale.ROOT) - break; - else - res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - LocaleHelper.getFallbackLocale(res.getLocale()), - ClassLoader.getSystemClassLoader()); } /* Final sanity check for missing values */ for (String[] zstrings : systemZones.values()) @@ -288,17 +445,95 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable return allZones.toArray(new String[allZones.size()][]); } - private String[] formatsForKey(ResourceBundle res, String key) + /** + * Retrieve the date or time formats for a specific key e.g. + * asking for "DateFormat" will return an array containing the + * full, long, medium and short date formats localised for + * the locales in the specified bundle. + * + * @param bundles the stack of bundles to check, most-specific first. + * @param key the type of format to retrieve. + * @param an array of localised strings for each format prefix. + */ + private static String[] formatsForKey(List<ResourceBundle> bundles, String key) { String[] values = new String[formatPrefixes.length]; for (int i = 0; i < formatPrefixes.length; i++) - values[i] = res.getString(formatPrefixes[i] + key); + values[i] = getString(bundles, formatPrefixes[i] + key); return values; } /** + * Simple wrapper around extracting a {@code String} from a + * {@code ResourceBundle}. Keep searching less-specific locales + * until a non-null non-empty value is found. + * + * @param bundles the stack of bundles to check, most-specific first. + * @param key the key of the value to retrieve. + * @return the first non-null non-empty String found or the last + * retrieved if one isn't found. + */ + private static String getString(List<ResourceBundle> bundles, String key) + { + String val = null; + for (ResourceBundle bundle : bundles) + { + val = bundle.getString(key); + if (val != null && !val.isEmpty()) + return val; + } + return val; + } + + /** + * Retrieves the locale data from the property files and constructs a + * {@code DFSData} instance for it. + * + * @param the locale for which data should be retrieved. + * @return the parsed data. + * @throws MissingResourceException if the resources for the specified + * locale could not be found or loaded. + */ + private static DFSData retrieveData(Locale locale) + throws MissingResourceException + { + DFSData data = dataCache.get(locale); + if (data == null) + { + ClassLoader ldr = ClassLoader.getSystemClassLoader(); + List<ResourceBundle> bundles = new ArrayList<ResourceBundle>(); + ResourceBundle res + = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, ldr); + bundles.add(res); + Locale resLocale = res.getLocale(); + while (resLocale != Locale.ROOT) + { + res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + LocaleHelper.getFallbackLocale(resLocale), ldr); + bundles.add(res); + resLocale = res.getLocale(); + } + String[] lMonths = getStringArray(bundles, "months", 13); + String[] lWeekdays = getStringArray(bundles, "weekdays", 8); + data = new DFSData(getStringArray(bundles, "ampms", 2), + getStringArray(bundles, "eras", 2), + getString(bundles, "localPatternChars"), + lMonths, getStringArray(bundles, "shortMonths", 13, lMonths), + lWeekdays, getStringArray(bundles, "shortWeekdays", 8, lWeekdays), + formatsForKey(bundles, "DateFormat"), + formatsForKey(bundles, "TimeFormat"), + getZoneStrings(bundles, locale)); + DFSData cachedData = dataCache.putIfAbsent(locale, data); + // Use the earlier version if another thread beat us to it. + if (cachedData != null) + data = cachedData; + } + return data; + } + + /** * This method initializes a new instance of <code>DateFormatSymbols</code> * by loading the date format information for the specified locale. * This constructor only obtains instances using the runtime's resources; @@ -314,29 +549,17 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable public DateFormatSymbols (Locale locale) throws MissingResourceException { - ClassLoader ldr = ClassLoader.getSystemClassLoader(); - List<ResourceBundle> bundles = new ArrayList<ResourceBundle>(); - ResourceBundle res - = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, ldr); - bundles.add(res); - Locale resLocale = res.getLocale(); - while (resLocale != Locale.ROOT) - { - res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - LocaleHelper.getFallbackLocale(resLocale), ldr); - bundles.add(res); - resLocale = res.getLocale(); - } - ampms = getStringArray(bundles, "ampms", 2); - eras = getStringArray(bundles, "eras", 2); - localPatternChars = res.getString("localPatternChars"); - months = getStringArray(bundles, "months", 13); - shortMonths = getStringArray(bundles, "shortMonths", 13, months); - weekdays = getStringArray(bundles, "weekdays", 8); - shortWeekdays = getStringArray(bundles, "shortWeekdays", 8, weekdays); - dateFormats = formatsForKey(res, "DateFormat"); - timeFormats = formatsForKey(res, "TimeFormat"); - runtimeZoneStrings = getZoneStrings(res, locale); + DFSData data = retrieveData(locale); + ampms = data.getAMPMs(); + eras = data.getEras(); + localPatternChars = data.getLocalPatternChars(); + months = data.getMonths(); + shortMonths = data.getShortMonths(); + weekdays = data.getWeekdays(); + shortWeekdays = data.getShortWeekdays(); + dateFormats = data.getDateFormats(); + timeFormats = data.getTimeFormats(); + runtimeZoneStrings = data.getZoneStrings(); } /** diff --git a/libjava/classpath/java/text/DecimalFormat.java b/libjava/classpath/java/text/DecimalFormat.java index 9f02bb8d4cb..77af0d396c4 100644 --- a/libjava/classpath/java/text/DecimalFormat.java +++ b/libjava/classpath/java/text/DecimalFormat.java @@ -1,5 +1,5 @@ /* DecimalFormat.java -- Formats and parses numbers - Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -177,7 +177,7 @@ public class DecimalFormat extends NumberFormat private boolean hasFractionalPattern; /** Stores a list of attributes for use by formatToCharacterIterator. */ - private ArrayList attributes = new ArrayList(); + private ArrayList<FieldPosition> attributes = new ArrayList<FieldPosition>(); /** * Constructs a <code>DecimalFormat</code> which uses the default @@ -438,7 +438,7 @@ public class DecimalFormat extends NumberFormat // add NumberFormat field attributes to the AttributedString for (int i = 0; i < attributes.size(); i++) { - FieldPosition pos = (FieldPosition) attributes.get(i); + FieldPosition pos = attributes.get(i); Format.Field attribute = pos.getFieldAttribute(); as.addAttribute(attribute, attribute, pos.getBeginIndex(), diff --git a/libjava/classpath/java/text/MessageFormat.java b/libjava/classpath/java/text/MessageFormat.java index ba5805aa0b9..0e04b2b447a 100644 --- a/libjava/classpath/java/text/MessageFormat.java +++ b/libjava/classpath/java/text/MessageFormat.java @@ -1,5 +1,5 @@ /* MessageFormat.java - Localized message formatting. - Copyright (C) 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -164,7 +164,6 @@ public class MessageFormat extends Format public static final MessageFormat.Field ARGUMENT = new MessageFormat.Field("argument"); // For deserialization - @SuppressWarnings("unused") private Field() { super(""); diff --git a/libjava/classpath/java/text/NumberFormat.java b/libjava/classpath/java/text/NumberFormat.java index fef986bc38e..555ee373957 100644 --- a/libjava/classpath/java/text/NumberFormat.java +++ b/libjava/classpath/java/text/NumberFormat.java @@ -1,5 +1,5 @@ /* NumberFormat.java -- Formats and parses numbers - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007 + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -177,7 +177,6 @@ public abstract class NumberFormat extends Format implements Cloneable * This constructor is only used by the deserializer. Without it, * it would fail to construct a valid object. */ - @SuppressWarnings("unused") private Field() { super(""); diff --git a/libjava/classpath/java/util/Collections.java b/libjava/classpath/java/util/Collections.java index 828c6ecea12..b970dd8f60a 100644 --- a/libjava/classpath/java/util/Collections.java +++ b/libjava/classpath/java/util/Collections.java @@ -120,10 +120,10 @@ public class Collections * @return an empty parameterized set. * @since 1.5 */ + @SuppressWarnings("unchecked") public static final <T> Set<T> emptySet() { - /* FIXME: Could this be optimized? */ - return new EmptySet<T>(); + return (Set<T>) EMPTY_SET; } /** @@ -161,6 +161,7 @@ public class Collections * @return A non-iterating iterator. */ // This is really cheating! I think it's perfectly valid, though. + @SuppressWarnings("unchecked") public Iterator<T> iterator() { return (Iterator<T>) EMPTY_LIST.iterator(); @@ -196,7 +197,7 @@ public class Collections */ public boolean equals(Object o) { - return o instanceof Set && ((Set) o).isEmpty(); + return o instanceof Set<?> && ((Set<?>) o).isEmpty(); } /** @@ -288,10 +289,10 @@ public class Collections * @return an empty parameterized list. * @since 1.5 */ + @SuppressWarnings("unchecked") public static final <T> List<T> emptyList() { - /* FIXME: Could this be optimized? */ - return new EmptyList<T>(); + return (List<T>) EMPTY_LIST; } /** @@ -369,7 +370,7 @@ public class Collections */ public boolean equals(Object o) { - return o instanceof List && ((List) o).isEmpty(); + return o instanceof List<?> && ((List<?>) o).isEmpty(); } /** @@ -480,10 +481,10 @@ public class Collections * @return an empty parameterized map. * @since 1.5 */ + @SuppressWarnings("unchecked") public static final <K,V> Map<K,V> emptyMap() { - /* FIXME: Could this be optimized? */ - return new EmptyMap<K,V>(); + return (Map<K,V>) EMPTY_MAP; } /** @@ -511,9 +512,10 @@ public class Collections * There are no entries. * @return The empty set. */ + @SuppressWarnings("unchecked") public Set<Map.Entry<K, V>> entrySet() { - return EMPTY_SET; + return (Set<Map.Entry<K, V>>) EMPTY_SET; } // The remaining methods are optional, but provide a performance @@ -546,7 +548,7 @@ public class Collections */ public boolean equals(Object o) { - return o instanceof Map && ((Map) o).isEmpty(); + return o instanceof Map<?,?> && ((Map<?,?>) o).isEmpty(); } /** @@ -572,9 +574,10 @@ public class Collections * No entries. * @return The empty set. */ + @SuppressWarnings("unchecked") public Set<K> keySet() { - return EMPTY_SET; + return (Set<K>) EMPTY_SET; } /** @@ -601,9 +604,10 @@ public class Collections * Collection, will work. Besides, that's what the JDK uses! * @return The empty set. */ + @SuppressWarnings("unchecked") public Collection<V> values() { - return EMPTY_SET; + return (Collection<V>) EMPTY_SET; } /** @@ -1854,7 +1858,7 @@ public class Collections public List<T> subList(int from, int to) { if (from == to && (to == 0 || to == 1)) - return EMPTY_LIST; + return emptyList(); if (from == 0 && to == 1) return this; if (from > to) @@ -2480,7 +2484,7 @@ public class Collections * @throws ArrayStoreException if the type of any element of the * collection is not a subtype of the element type of a. */ - public <T> T[] toArray(T[] a) + public <E> E[] toArray(E[] a) { synchronized (mutex) { diff --git a/libjava/classpath/java/util/Formatter.java b/libjava/classpath/java/util/Formatter.java index 62f68456239..466fab535ae 100644 --- a/libjava/classpath/java/util/Formatter.java +++ b/libjava/classpath/java/util/Formatter.java @@ -678,6 +678,12 @@ public final class Formatter conversion); noPrecision(precision); + if (arg == null) + { + genericFormat("null", flags, width, precision); + return; + } + int theChar; if (arg instanceof Character) theChar = ((Character) arg).charValue(); @@ -748,6 +754,12 @@ public final class Formatter int radix, char conversion) { assert radix == 8 || radix == 10 || radix == 16; + + if (arg == null) + { + return new CPStringBuilder("null"); + } + noPrecision(precision); // Some error checking. @@ -1353,9 +1365,12 @@ public final class Formatter argumentIndex = previousArgumentIndex; // Argument indices start at 1 but array indices at 0. --argumentIndex; - if (argumentIndex < 0 || argumentIndex >= args.length) - throw new MissingFormatArgumentException(format.substring(start, index)); - argument = args[argumentIndex]; + if (args != null) + { + if (argumentIndex < 0 || argumentIndex >= args.length) + throw new MissingFormatArgumentException(format.substring(start, index)); + argument = args[argumentIndex]; + } } switch (conversion) diff --git a/libjava/classpath/java/util/TimeZone.java b/libjava/classpath/java/util/TimeZone.java index 86a62918ed5..a8b2b51cf8c 100644 --- a/libjava/classpath/java/util/TimeZone.java +++ b/libjava/classpath/java/util/TimeZone.java @@ -1,5 +1,5 @@ /* java.util.TimeZone - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -102,10 +102,10 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable /* Look up default timezone */ if (defaultZone0 == null) { - defaultZone0 = (TimeZone) AccessController.doPrivileged - (new PrivilegedAction() + defaultZone0 = AccessController.doPrivileged + (new PrivilegedAction<TimeZone>() { - public Object run() + public TimeZone run() { TimeZone zone = null; @@ -146,21 +146,21 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable /** * JDK 1.1.x compatibility aliases. */ - private static HashMap aliases0; + private static HashMap<String,String> aliases0; /** * HashMap for timezones by ID. */ - private static HashMap timezones0; + private static HashMap<String,TimeZone> timezones0; /* initialize this static field lazily to overhead if * it is not needed: */ // Package-private to avoid a trampoline. - static HashMap timezones() + static HashMap<String,TimeZone> timezones() { if (timezones0 == null) { - HashMap timezones = new HashMap(); + HashMap<String,TimeZone> timezones = new HashMap<String,TimeZone>(); timezones0 = timezones; zoneinfo_dir = SystemProperties.getProperty("gnu.java.util.zoneinfo.dir"); @@ -169,7 +169,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable if (zoneinfo_dir != null) { - aliases0 = new HashMap(); + aliases0 = new HashMap<String,String>(); // These deprecated aliases for JDK 1.1.x compatibility // should take precedence over data files read from @@ -1469,7 +1469,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable { synchronized (TimeZone.class) { - tz = (TimeZone) timezones().get(ID); + tz = timezones().get(ID); if (tz != null) { if (!tz.getID().equals(ID)) @@ -1497,7 +1497,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable // aliases0 is never changing after first timezones(), so should // be safe without synchronization. - String zonename = (String) aliases0.get(ID); + String zonename = aliases0.get(ID); if (zonename == null) zonename = ID; @@ -1605,17 +1605,17 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable { synchronized (TimeZone.class) { - HashMap h = timezones(); + HashMap<String,TimeZone> h = timezones(); int count = 0; if (zoneinfo_dir == null) { - Iterator iter = h.entrySet().iterator(); + Iterator<Map.Entry<String,TimeZone>> iter = h.entrySet().iterator(); while (iter.hasNext()) { // Don't iterate the values, since we want to count // doubled values (aliases) - Map.Entry entry = (Map.Entry) iter.next(); - if (((TimeZone) entry.getValue()).getRawOffset() == rawOffset) + Map.Entry<String,TimeZone> entry = iter.next(); + if (entry.getValue().getRawOffset() == rawOffset) count++; } @@ -1624,8 +1624,8 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable iter = h.entrySet().iterator(); while (iter.hasNext()) { - Map.Entry entry = (Map.Entry) iter.next(); - if (((TimeZone) entry.getValue()).getRawOffset() == rawOffset) + Map.Entry<String,TimeZone> entry = iter.next(); + if (entry.getValue().getRawOffset() == rawOffset) ids[count++] = (String) entry.getKey(); } return ids; @@ -1651,7 +1651,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable return ids; } - private static int getAvailableIDs(File d, String prefix, ArrayList list) + private static int getAvailableIDs(File d, String prefix, ArrayList<String[]> list) { String[] files = d.list(); int count = files.length; @@ -1691,9 +1691,9 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable { synchronized (TimeZone.class) { - HashMap h = timezones(); + HashMap<String,TimeZone> h = timezones(); if (zoneinfo_dir == null) - return (String[]) h.keySet().toArray(new String[h.size()]); + return h.keySet().toArray(new String[h.size()]); if (availableIDs != null) { @@ -1704,7 +1704,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable } File d = new File(zoneinfo_dir); - ArrayList list = new ArrayList(30); + ArrayList<String[]> list = new ArrayList<String[]>(30); int count = getAvailableIDs(d, "", list) + aliases0.size(); availableIDs = new String[count]; String[] ids = new String[count]; @@ -1712,7 +1712,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable count = 0; for (int i = 0; i < list.size(); i++) { - String[] s = (String[]) list.get(i); + String[] s = list.get(i); for (int j = 0; j < s.length; j++) if (s[j] != null) { @@ -1721,12 +1721,12 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable } } - Iterator iter = aliases0.entrySet().iterator(); + Iterator<Map.Entry<String,String>> iter = aliases0.entrySet().iterator(); while (iter.hasNext()) { - Map.Entry entry = (Map.Entry) iter.next(); - availableIDs[count] = (String) entry.getKey(); - ids[count++] = (String) entry.getKey(); + Map.Entry<String,String> entry = iter.next(); + availableIDs[count] = entry.getKey(); + ids[count++] = entry.getKey(); } return ids; diff --git a/libjava/classpath/java/util/regex/Matcher.java b/libjava/classpath/java/util/regex/Matcher.java index 8d033d5e316..95a35535935 100644 --- a/libjava/classpath/java/util/regex/Matcher.java +++ b/libjava/classpath/java/util/regex/Matcher.java @@ -103,6 +103,28 @@ public final class Matcher implements MatchResult } /** + * Changes the pattern used by the {@link Matcher} to + * the one specified. Existing match information is lost, + * but the input and the matcher's position within it is + * retained. + * + * @param newPattern the new pattern to use. + * @return this matcher. + * @throws IllegalArgumentException if {@code newPattern} is + * {@code null}. + * @since 1.5 + */ + public Matcher usePattern(Pattern newPattern) + { + if (newPattern == null) + throw new IllegalArgumentException("The new pattern was null."); + pattern = newPattern; + match = null; + + return this; + } + + /** * @param sb The target string buffer * @param replacement The replacement string * @@ -620,7 +642,7 @@ public final class Matcher implements MatchResult * * @param s the string to literalize. * @return the literalized string. - *Â @since 1.5 + * @since 1.5 */ public static String quoteReplacement(String s) { diff --git a/libjava/classpath/javax/activation/ActivationDataFlavor.java b/libjava/classpath/javax/activation/ActivationDataFlavor.java index 91812092ee9..0ab5a8097b8 100644 --- a/libjava/classpath/javax/activation/ActivationDataFlavor.java +++ b/libjava/classpath/javax/activation/ActivationDataFlavor.java @@ -63,7 +63,7 @@ public class ActivationDataFlavor extends DataFlavor * flavor */ // Raw types enforced as part of spec. - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public ActivationDataFlavor(Class representationClass, String mimeType, String humanPresentableName) { @@ -80,7 +80,7 @@ public class ActivationDataFlavor extends DataFlavor * flavor */ // Raw types enforced as part of spec. - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public ActivationDataFlavor(Class representationClass, String humanPresentableName) { @@ -110,7 +110,7 @@ public class ActivationDataFlavor extends DataFlavor } // Raw types enforced as part of spec. - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public Class getRepresentationClass() { return representationClass; diff --git a/libjava/classpath/javax/activation/MimeTypeParameterList.java b/libjava/classpath/javax/activation/MimeTypeParameterList.java index 3d36ede948b..24c9486f1fe 100644 --- a/libjava/classpath/javax/activation/MimeTypeParameterList.java +++ b/libjava/classpath/javax/activation/MimeTypeParameterList.java @@ -224,7 +224,7 @@ public class MimeTypeParameterList * Returns an enumeration of all the parameter names. */ // Raw type is forced by public spec. - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public synchronized Enumeration getNames() { return new IteratorEnumeration(parameterNames.iterator()); diff --git a/libjava/classpath/javax/management/DefaultLoaderRepository.java b/libjava/classpath/javax/management/DefaultLoaderRepository.java index d331552a011..d70bf7efec5 100644 --- a/libjava/classpath/javax/management/DefaultLoaderRepository.java +++ b/libjava/classpath/javax/management/DefaultLoaderRepository.java @@ -78,7 +78,7 @@ import java.util.List; * to load the class. */ // API issue with lack of <?> on Class - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public static Class loadClass(String name) throws ClassNotFoundException { @@ -127,7 +127,7 @@ import java.util.List; * to load the class. */ // API issue with lack of <?> on Class - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public static Class loadClassWithout(ClassLoader exclude, String name) throws ClassNotFoundException { diff --git a/libjava/classpath/javax/management/MBeanConstructorInfo.java b/libjava/classpath/javax/management/MBeanConstructorInfo.java index 509483f256a..3d5ebdab0ce 100644 --- a/libjava/classpath/javax/management/MBeanConstructorInfo.java +++ b/libjava/classpath/javax/management/MBeanConstructorInfo.java @@ -76,7 +76,7 @@ public class MBeanConstructorInfo * @param cons the constructor. */ // API issue with lack of <?> on Constructor - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public MBeanConstructorInfo(String desc, Constructor cons) { super(cons.getName(), desc); diff --git a/libjava/classpath/javax/management/remote/rmi/RMIConnection.java b/libjava/classpath/javax/management/remote/rmi/RMIConnection.java index 434051d58ac..edf8c895c86 100644 --- a/libjava/classpath/javax/management/remote/rmi/RMIConnection.java +++ b/libjava/classpath/javax/management/remote/rmi/RMIConnection.java @@ -152,7 +152,7 @@ public interface RMIConnection * NotificationFilter, * Object) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject passback, Subject delegationSubject) @@ -224,7 +224,7 @@ public interface RMIConnection * NotificationFilter, * Object) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException; @@ -298,7 +298,7 @@ public interface RMIConnection * @throws IOException if an I/O error occurred in communicating with * the bean server. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] sig, Subject delegationSubject) @@ -367,7 +367,7 @@ public interface RMIConnection * @throws IOException if an I/O error occurred in communicating with * the bean server. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] sig, Subject delegationSubject) @@ -767,7 +767,7 @@ public interface RMIConnection * the bean server. * @see DynamicMBean#invoke(String, Object[], String[]) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Object invoke(ObjectName bean, String name, MarshalledObject params, String[] sig, Subject delegationSubject) throws InstanceNotFoundException, MBeanException, @@ -871,7 +871,7 @@ public interface RMIConnection * @throws SecurityException if the client or delegated subject (if any) does * not have permission to invoke this operation. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException; @@ -914,7 +914,7 @@ public interface RMIConnection * @throws IOException if an I/O error occurred in communicating with * the bean server. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException; @@ -960,7 +960,7 @@ public interface RMIConnection * NotificationFilter, * Object) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, @@ -1080,7 +1080,7 @@ public interface RMIConnection * @see #getAttribute(ObjectName, String, Subject) * @see javax.management.DynamicMBean#setAttribute(Attribute) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException, AttributeNotFoundException, @@ -1121,7 +1121,7 @@ public interface RMIConnection * @see #getAttributes(ObjectName, String[]) * @see DynamicMBean#setAttributes(AttributeList) */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, diff --git a/libjava/classpath/javax/security/sasl/Sasl.java b/libjava/classpath/javax/security/sasl/Sasl.java index 402ad6edeab..475be09e01e 100644 --- a/libjava/classpath/javax/security/sasl/Sasl.java +++ b/libjava/classpath/javax/security/sasl/Sasl.java @@ -265,6 +265,16 @@ public class Sasl */ public static final String REUSE = "javax.security.sasl.reuse"; + /** + * <p>The name of a property which specifies the credentials to use. + * The value of the property is a mechanism-specific object which can + * be used to supply credentials to a mechanism which provides delegated + * authentication.</p> + * + * <p>The value of this constant is <code>"javax.security.sasl.credentials"</code>.</p> + */ + public static final String CREDENTIALS = "javax.security.sasl.credentials"; + private static final String CLIENT_FACTORY_SVC = "SaslClientFactory."; private static final String SERVER_FACTORY_SVC = "SaslServerFactory."; private static final String ALIAS = "Alg.Alias."; diff --git a/libjava/classpath/javax/sound/midi/MetaMessage.java b/libjava/classpath/javax/sound/midi/MetaMessage.java index 4d43975c3a4..0aab153cbfa 100644 --- a/libjava/classpath/javax/sound/midi/MetaMessage.java +++ b/libjava/classpath/javax/sound/midi/MetaMessage.java @@ -120,10 +120,12 @@ public class MetaMessage extends MidiMessage // Now compute the length representation long buffer = length & 0x7F; - while ((length >>= 7) > 0) + // Avoid altering length variable; PR42551 + lengthValue = length; + while ((lengthValue >>= 7) > 0) { buffer <<= 8; - buffer |= ((length & 0x7F) | 0x80); + buffer |= ((lengthValue & 0x7F) | 0x80); } // Now store the variable length length value diff --git a/libjava/classpath/javax/sound/midi/MidiDevice.java b/libjava/classpath/javax/sound/midi/MidiDevice.java index 7a0ca7f2bb8..7ce22caedfc 100644 --- a/libjava/classpath/javax/sound/midi/MidiDevice.java +++ b/libjava/classpath/javax/sound/midi/MidiDevice.java @@ -46,6 +46,7 @@ package javax.sound.midi; * */ public interface MidiDevice + extends AutoCloseable { /** * Get the Info object describing this device. diff --git a/libjava/classpath/javax/sound/midi/MidiSystem.java b/libjava/classpath/javax/sound/midi/MidiSystem.java index b273b98e5ff..0e3680563fb 100644 --- a/libjava/classpath/javax/sound/midi/MidiSystem.java +++ b/libjava/classpath/javax/sound/midi/MidiSystem.java @@ -1,5 +1,5 @@ /* MidiSystem.java -- Access system MIDI resources - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -76,9 +76,9 @@ public class MidiSystem */ public static MidiDevice.Info[] getMidiDeviceInfo() { - Iterator deviceProviders = + Iterator<MidiDeviceProvider> deviceProviders = ServiceFactory.lookupProviders(MidiDeviceProvider.class); - List infoList = new ArrayList(); + List<MidiDevice.Info> infoList = new ArrayList<MidiDevice.Info>(); while (deviceProviders.hasNext()) { @@ -88,8 +88,7 @@ public class MidiSystem infoList.add(infos[--i]); } - return (MidiDevice.Info[]) - infoList.toArray(new MidiDevice.Info[infoList.size()]); + return infoList.toArray(new MidiDevice.Info[infoList.size()]); } /** @@ -103,7 +102,7 @@ public class MidiSystem public static MidiDevice getMidiDevice(MidiDevice.Info info) throws MidiUnavailableException { - Iterator deviceProviders = + Iterator<MidiDeviceProvider> deviceProviders = ServiceFactory.lookupProviders(MidiDeviceProvider.class); if (! deviceProviders.hasNext()) @@ -216,10 +215,11 @@ public class MidiSystem public static Soundbank getSoundbank(InputStream stream) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class); + Iterator<SoundbankReader> readers = + ServiceFactory.lookupProviders(SoundbankReader.class); while (readers.hasNext()) { - SoundbankReader sr = (SoundbankReader) readers.next(); + SoundbankReader sr = readers.next(); Soundbank sb = sr.getSoundbank(stream); if (sb != null) return sb; @@ -238,10 +238,11 @@ public class MidiSystem public static Soundbank getSoundbank(URL url) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class); + Iterator<SoundbankReader> readers = + ServiceFactory.lookupProviders(SoundbankReader.class); while (readers.hasNext()) { - SoundbankReader sr = (SoundbankReader) readers.next(); + SoundbankReader sr = readers.next(); Soundbank sb = sr.getSoundbank(url); if (sb != null) return sb; @@ -260,7 +261,8 @@ public class MidiSystem public static Soundbank getSoundbank(File file) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class); + Iterator<SoundbankReader> readers = + ServiceFactory.lookupProviders(SoundbankReader.class); while (readers.hasNext()) { SoundbankReader sr = (SoundbankReader) readers.next(); @@ -283,10 +285,11 @@ public class MidiSystem public static MidiFileFormat getMidiFileFormat(InputStream stream) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); MidiFileFormat sb = sr.getMidiFileFormat(stream); if (sb != null) return sb; @@ -305,10 +308,11 @@ public class MidiSystem public static MidiFileFormat getMidiFileFormat(URL url) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); MidiFileFormat sb = sr.getMidiFileFormat(url); if (sb != null) return sb; @@ -327,10 +331,11 @@ public class MidiSystem public static MidiFileFormat getMidiFileFormat(File file) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); MidiFileFormat sb = sr.getMidiFileFormat(file); if (sb != null) return sb; @@ -350,10 +355,11 @@ public class MidiSystem public static Sequence getSequence(InputStream stream) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); Sequence sq = sr.getSequence(stream); if (sq != null) return sq; @@ -372,10 +378,11 @@ public class MidiSystem public static Sequence getSequence(URL url) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); Sequence sq = sr.getSequence(url); if (sq != null) return sq; @@ -394,10 +401,11 @@ public class MidiSystem public static Sequence getSequence(File file) throws InvalidMidiDataException, IOException { - Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class); + Iterator<MidiFileReader> readers = + ServiceFactory.lookupProviders(MidiFileReader.class); while (readers.hasNext()) { - MidiFileReader sr = (MidiFileReader) readers.next(); + MidiFileReader sr = readers.next(); Sequence sq = sr.getSequence(file); if (sq != null) return sq; @@ -417,10 +425,11 @@ public class MidiSystem boolean supported[] = new boolean[3]; // The number of supported formats. int count = 0; - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = + ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { - MidiFileWriter fw = (MidiFileWriter) writers.next(); + MidiFileWriter fw = writers.next(); int types[] = fw.getMidiFileTypes(); for (int i = types.length; i > 0;) { @@ -449,10 +458,10 @@ public class MidiSystem */ public static boolean isFileTypeSupported(int fileType) { - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { - MidiFileWriter fw = (MidiFileWriter) writers.next(); + MidiFileWriter fw = writers.next(); if (fw.isFileTypeSupported(fileType)) return true; @@ -473,7 +482,7 @@ public class MidiSystem boolean supported[] = new boolean[3]; // The number of supported formats. int count = 0; - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { MidiFileWriter fw = (MidiFileWriter) writers.next(); @@ -507,7 +516,7 @@ public class MidiSystem */ public static boolean isFileTypeSupported(int fileType, Sequence sequence) { - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { MidiFileWriter fw = (MidiFileWriter) writers.next(); @@ -531,7 +540,7 @@ public class MidiSystem public static int write(Sequence in, int fileType, OutputStream out) throws IOException { - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { MidiFileWriter fw = (MidiFileWriter) writers.next(); @@ -556,7 +565,7 @@ public class MidiSystem public static int write(Sequence in, int fileType, File out) throws IOException { - Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class); + Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class); while (writers.hasNext()) { MidiFileWriter fw = (MidiFileWriter) writers.next(); diff --git a/libjava/classpath/javax/sound/midi/Receiver.java b/libjava/classpath/javax/sound/midi/Receiver.java index bc660d0d62d..535c9df65cd 100644 --- a/libjava/classpath/javax/sound/midi/Receiver.java +++ b/libjava/classpath/javax/sound/midi/Receiver.java @@ -47,6 +47,7 @@ package javax.sound.midi; * */ public interface Receiver + extends AutoCloseable { /** * Send a MIDI message and timestamp. Some receivers don't support diff --git a/libjava/classpath/javax/sound/midi/SoundbankResource.java b/libjava/classpath/javax/sound/midi/SoundbankResource.java index 0b4675b106f..6c3a4f28bf2 100644 --- a/libjava/classpath/javax/sound/midi/SoundbankResource.java +++ b/libjava/classpath/javax/sound/midi/SoundbankResource.java @@ -1,5 +1,5 @@ /* SoundbankResource.java -- An audio resource from a sound bank - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,7 +49,7 @@ public abstract class SoundbankResource { private final Soundbank soundbank; private final String name; - private final Class dataClass; + private final Class<?> dataClass; /** * Create a SoundbankResource object. diff --git a/libjava/classpath/javax/sound/midi/Track.java b/libjava/classpath/javax/sound/midi/Track.java index 550d2e1c4ab..9c392577f2c 100644 --- a/libjava/classpath/javax/sound/midi/Track.java +++ b/libjava/classpath/javax/sound/midi/Track.java @@ -1,5 +1,5 @@ /* Track.java -- A track of MIDI events - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,10 +54,10 @@ public class Track /** * The list of MidiEvents for this track. */ - Vector events = new Vector(); + Vector<MidiEvent> events = new Vector<MidiEvent>(); // A HashSet to speed processing - private HashSet eventSet = new HashSet(); + private HashSet<MidiEvent> eventSet = new HashSet<MidiEvent>(); // This is only instantiable within this package. Track() @@ -83,7 +83,7 @@ public class Track long targetTick = event.getTick(); int i = events.size() - 1; - while (i >= 0 && (((MidiEvent)events.get(i)).getTick() > targetTick)) + while (i >= 0 && (events.get(i).getTick() > targetTick)) i--; events.add(i+1, event); return true; @@ -127,7 +127,7 @@ public class Track { try { - return (MidiEvent) events.get(index); + return events.get(index); } catch (IndexOutOfBoundsException e) { @@ -158,7 +158,7 @@ public class Track synchronized (events) { int size = events.size(); - return ((MidiEvent) events.get(size - 1)).getTick(); + return events.get(size - 1).getTick(); } } } diff --git a/libjava/classpath/javax/sound/midi/Transmitter.java b/libjava/classpath/javax/sound/midi/Transmitter.java index ab81cc8198d..2c62795a338 100644 --- a/libjava/classpath/javax/sound/midi/Transmitter.java +++ b/libjava/classpath/javax/sound/midi/Transmitter.java @@ -47,6 +47,7 @@ package javax.sound.midi; * */ public interface Transmitter + extends AutoCloseable { /** * Set the Receiver to which MIDI events will be sent. diff --git a/libjava/classpath/javax/sound/sampled/AudioSystem.java b/libjava/classpath/javax/sound/sampled/AudioSystem.java index 01133c91d3a..599952154fd 100644 --- a/libjava/classpath/javax/sound/sampled/AudioSystem.java +++ b/libjava/classpath/javax/sound/sampled/AudioSystem.java @@ -1,5 +1,5 @@ /* Main interface to audio system - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -84,10 +84,10 @@ public class AudioSystem public static AudioFileFormat getAudioFileFormat(File f) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioFileFormat(f); @@ -111,10 +111,10 @@ public class AudioSystem public static AudioFileFormat getAudioFileFormat(InputStream is) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioFileFormat(is); @@ -138,10 +138,10 @@ public class AudioSystem public static AudioFileFormat getAudioFileFormat(URL url) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioFileFormat(url); @@ -162,10 +162,10 @@ public class AudioSystem { HashSet<AudioFileFormat.Type> result = new HashSet<AudioFileFormat.Type>(); - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { - AudioFileWriter writer = (AudioFileWriter) i.next(); + AudioFileWriter writer = i.next(); AudioFileFormat.Type[] types = writer.getAudioFileTypes(); for (int j = 0; j < types.length; ++j) result.add(types[j]); @@ -183,10 +183,10 @@ public class AudioSystem { HashSet<AudioFileFormat.Type> result = new HashSet<AudioFileFormat.Type>(); - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { - AudioFileWriter writer = (AudioFileWriter) i.next(); + AudioFileWriter writer = i.next(); AudioFileFormat.Type[] types = writer.getAudioFileTypes(ais); for (int j = 0; j < types.length; ++j) result.add(types[j]); @@ -206,10 +206,11 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targ, AudioInputStream ais) { - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator<FormatConversionProvider> i = + ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); if (! prov.isConversionSupported(targ, ais.getFormat())) continue; return prov.getAudioInputStream(targ, ais); @@ -229,10 +230,11 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(AudioFormat targ, AudioInputStream ais) { - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator<FormatConversionProvider> i = + ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); if (! prov.isConversionSupported(targ, ais.getFormat())) continue; return prov.getAudioInputStream(targ, ais); @@ -251,10 +253,10 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(File f) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioInputStream(f); @@ -278,10 +280,10 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(InputStream is) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioInputStream(is); @@ -305,10 +307,10 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(URL url) throws UnsupportedAudioFileException, IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class); + Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class); while (i.hasNext()) { - AudioFileReader reader = (AudioFileReader) i.next(); + AudioFileReader reader = i.next(); try { return reader.getAudioInputStream(url); @@ -401,10 +403,10 @@ public class AudioSystem */ public static Mixer getMixer(Mixer.Info info) { - Iterator i = ServiceFactory.lookupProviders(MixerProvider.class); + Iterator<MixerProvider> i = ServiceFactory.lookupProviders(MixerProvider.class); while (i.hasNext()) { - MixerProvider prov = (MixerProvider) i.next(); + MixerProvider prov = i.next(); if (prov.isMixerSupported(info)) return prov.getMixer(info); } @@ -417,10 +419,10 @@ public class AudioSystem public static Mixer.Info[] getMixerInfo() { HashSet<Mixer.Info> result = new HashSet<Mixer.Info>(); - Iterator i = ServiceFactory.lookupProviders(MixerProvider.class); + Iterator<MixerProvider> i = ServiceFactory.lookupProviders(MixerProvider.class); while (i.hasNext()) { - MixerProvider prov = (MixerProvider) i.next(); + MixerProvider prov = i.next(); Mixer.Info[] is = prov.getMixerInfo(); for (int j = 0; j < is.length; ++j) result.add(is[j]); @@ -536,10 +538,11 @@ public class AudioSystem { HashSet<AudioFormat.Encoding> result = new HashSet<AudioFormat.Encoding>(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator<FormatConversionProvider> i = + ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); if (! prov.isSourceEncodingSupported(source)) continue; AudioFormat.Encoding[] es = prov.getTargetEncodings(); @@ -558,10 +561,11 @@ public class AudioSystem { HashSet<AudioFormat.Encoding> result = new HashSet<AudioFormat.Encoding>(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator<FormatConversionProvider> i = + ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); AudioFormat.Encoding[] es = prov.getTargetEncodings(source); for (int j = 0; j < es.length; ++j) result.add(es[j]); @@ -579,10 +583,11 @@ public class AudioSystem AudioFormat sourceFmt) { HashSet<AudioFormat> result = new HashSet<AudioFormat>(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator<FormatConversionProvider> i = + ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); AudioFormat[] es = prov.getTargetFormats(encoding, sourceFmt); for (int j = 0; j < es.length; ++j) result.add(es[j]); @@ -618,11 +623,11 @@ public class AudioSystem public static boolean isConversionSupported(AudioFormat.Encoding targ, AudioFormat source) { - Iterator i + Iterator<FormatConversionProvider> i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); if (prov.isConversionSupported(targ, source)) return true; } @@ -638,11 +643,11 @@ public class AudioSystem public static boolean isConversionSupported(AudioFormat targ, AudioFormat source) { - Iterator i + Iterator<FormatConversionProvider> i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { - FormatConversionProvider prov = (FormatConversionProvider) i.next(); + FormatConversionProvider prov = i.next(); if (prov.isConversionSupported(targ, source)) return true; } @@ -714,10 +719,10 @@ public class AudioSystem File out) throws IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { - AudioFileWriter w = (AudioFileWriter) i.next(); + AudioFileWriter w = i.next(); if (w.isFileTypeSupported(type, ais)) return w.write(ais, type, out); } @@ -739,10 +744,10 @@ public class AudioSystem OutputStream os) throws IOException { - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { - AudioFileWriter w = (AudioFileWriter) i.next(); + AudioFileWriter w = i.next(); if (w.isFileTypeSupported(type, ais)) return w.write(ais, type, os); } diff --git a/libjava/classpath/javax/sound/sampled/Line.java b/libjava/classpath/javax/sound/sampled/Line.java index 62d284bd849..1e08f1a8b49 100644 --- a/libjava/classpath/javax/sound/sampled/Line.java +++ b/libjava/classpath/javax/sound/sampled/Line.java @@ -1,5 +1,5 @@ /* An input or output line - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ package javax.sound.sampled; * @since 1.3 */ public interface Line + extends AutoCloseable { /** * An object of this type holds information about a Line. @@ -50,7 +51,7 @@ public interface Line */ class Info { - private Class klass; + private Class<?> klass; /** * Create a new Info object. The argument is the class of the line, diff --git a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java index 260c385aa3e..1e53961964e 100644 --- a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java +++ b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java @@ -293,7 +293,7 @@ public class DefaultMutableTreeNode * * @return an enumeration of tree nodes */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration children() { if (children.size() == 0) @@ -718,7 +718,7 @@ public class DefaultMutableTreeNode * * @return Enumeration */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration preorderEnumeration() { return new PreorderEnumeration(this); @@ -729,7 +729,7 @@ public class DefaultMutableTreeNode * * @return Enumeration */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration postorderEnumeration() { return new PostorderEnumeration(this); @@ -740,7 +740,7 @@ public class DefaultMutableTreeNode * * @return Enumeration */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration breadthFirstEnumeration() { return new BreadthFirstEnumeration(this); @@ -751,7 +751,7 @@ public class DefaultMutableTreeNode * * @return Enumeration */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration depthFirstEnumeration() { return postorderEnumeration(); @@ -764,7 +764,7 @@ public class DefaultMutableTreeNode * * @return Enumeration */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility public Enumeration pathFromAncestorEnumeration(TreeNode node) { if (node == null) @@ -1073,7 +1073,6 @@ public class DefaultMutableTreeNode return !queue.isEmpty(); } - @SuppressWarnings("unchecked") public TreeNode nextElement() { if (queue.isEmpty()) @@ -1081,6 +1080,7 @@ public class DefaultMutableTreeNode TreeNode node = queue.removeFirst(); + @SuppressWarnings("unchecked") Enumeration<TreeNode> children = (Enumeration<TreeNode>) node.children(); while (children.hasMoreElements()) @@ -1100,11 +1100,13 @@ public class DefaultMutableTreeNode Stack<Enumeration<TreeNode>> childrenEnums = new Stack<Enumeration<TreeNode>>(); - @SuppressWarnings("unchecked") PreorderEnumeration(TreeNode node) { next = node; - childrenEnums.push((Enumeration<TreeNode>) node.children()); + @SuppressWarnings("unchecked") + Enumeration<TreeNode> children = + (Enumeration<TreeNode>) node.children(); + childrenEnums.push(children); } public boolean hasMoreElements() @@ -1127,14 +1129,16 @@ public class DefaultMutableTreeNode return current; } - @SuppressWarnings("unchecked") private TreeNode traverse(Enumeration<TreeNode> children) { // If more children are available step down. if (children.hasMoreElements()) { TreeNode child = children.nextElement(); - childrenEnums.push((Enumeration<TreeNode>) child.children()); + @SuppressWarnings("unchecked") + Enumeration<TreeNode> grandchildren = + (Enumeration<TreeNode>) child.children(); + childrenEnums.push(grandchildren); return child; } @@ -1163,11 +1167,13 @@ public class DefaultMutableTreeNode Stack<Enumeration<TreeNode>> childrenEnums = new Stack<Enumeration<TreeNode>>(); - @SuppressWarnings("unchecked") PostorderEnumeration(TreeNode node) { nodes.push(node); - childrenEnums.push((Enumeration<TreeNode>) node.children()); + @SuppressWarnings("unchecked") + Enumeration<TreeNode> children = + (Enumeration<TreeNode>) node.children(); + childrenEnums.push(children); } public boolean hasMoreElements() @@ -1185,7 +1191,6 @@ public class DefaultMutableTreeNode return traverse(children); } - @SuppressWarnings("unchecked") private TreeNode traverse(Enumeration<TreeNode> children) { if (children.hasMoreElements()) @@ -1193,8 +1198,9 @@ public class DefaultMutableTreeNode TreeNode node = children.nextElement(); nodes.push(node); - Enumeration<TreeNode> newChildren = - (Enumeration<TreeNode>) node.children(); + @SuppressWarnings("unchecked") + Enumeration<TreeNode> newChildren = + (Enumeration<TreeNode>) node.children(); childrenEnums.push(newChildren); return traverse(newChildren); diff --git a/libjava/classpath/javax/swing/tree/TreeNode.java b/libjava/classpath/javax/swing/tree/TreeNode.java index b68b498a7b3..f146741f49e 100644 --- a/libjava/classpath/javax/swing/tree/TreeNode.java +++ b/libjava/classpath/javax/swing/tree/TreeNode.java @@ -107,7 +107,7 @@ public interface TreeNode * * @return An enumeration of the children of this node. */ - @SuppressWarnings("unchecked") // Required for API compatibility + @SuppressWarnings("rawtypes") // Required for API compatibility Enumeration children(); } diff --git a/libjava/classpath/javax/xml/namespace/NamespaceContext.java b/libjava/classpath/javax/xml/namespace/NamespaceContext.java index b3e1e1f61d0..9816480c394 100644 --- a/libjava/classpath/javax/xml/namespace/NamespaceContext.java +++ b/libjava/classpath/javax/xml/namespace/NamespaceContext.java @@ -61,7 +61,7 @@ public interface NamespaceContext /** * Returns all the prefixes currently bound to the given namespace URI. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public Iterator getPrefixes(String namespaceURI); } diff --git a/libjava/classpath/javax/xml/stream/XMLEventFactory.java b/libjava/classpath/javax/xml/stream/XMLEventFactory.java index fc2d493d5d4..750b62e2cd6 100644 --- a/libjava/classpath/javax/xml/stream/XMLEventFactory.java +++ b/libjava/classpath/javax/xml/stream/XMLEventFactory.java @@ -223,7 +223,7 @@ public abstract class XMLEventFactory /** * Create a start-element event. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public abstract StartElement createStartElement(QName name, Iterator attributes, Iterator namespaces); @@ -238,7 +238,7 @@ public abstract class XMLEventFactory /** * Create a start-element event. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public abstract StartElement createStartElement(String prefix, String namespaceUri, String localName, @@ -248,7 +248,7 @@ public abstract class XMLEventFactory /** * Create a start-element event. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public abstract StartElement createStartElement(String prefix, String namespaceUri, String localName, @@ -259,7 +259,7 @@ public abstract class XMLEventFactory /** * Create an end-element event. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public abstract EndElement createEndElement(QName name, Iterator namespaces); @@ -273,7 +273,7 @@ public abstract class XMLEventFactory /** * Create an end-element event. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public abstract EndElement createEndElement(String prefix, String namespaceUri, String localName, diff --git a/libjava/classpath/javax/xml/stream/XMLEventReader.java b/libjava/classpath/javax/xml/stream/XMLEventReader.java index d5c76b6b192..10373ee0edb 100644 --- a/libjava/classpath/javax/xml/stream/XMLEventReader.java +++ b/libjava/classpath/javax/xml/stream/XMLEventReader.java @@ -43,7 +43,7 @@ import javax.xml.stream.events.XMLEvent; /** * An XML parser. */ -@SuppressWarnings("unchecked") +@SuppressWarnings("rawtypes") public interface XMLEventReader extends Iterator { diff --git a/libjava/classpath/javax/xml/stream/events/DTD.java b/libjava/classpath/javax/xml/stream/events/DTD.java index b1a906919f5..f7c07957950 100644 --- a/libjava/classpath/javax/xml/stream/events/DTD.java +++ b/libjava/classpath/javax/xml/stream/events/DTD.java @@ -60,13 +60,13 @@ public interface DTD /** * Returns the notations declared in the DTD. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") List getNotations(); /** * Returns the entities declared in the DTD. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") List getEntities(); } diff --git a/libjava/classpath/javax/xml/stream/events/EndElement.java b/libjava/classpath/javax/xml/stream/events/EndElement.java index a6b5c3fa281..cd7c2d3865f 100644 --- a/libjava/classpath/javax/xml/stream/events/EndElement.java +++ b/libjava/classpath/javax/xml/stream/events/EndElement.java @@ -55,7 +55,7 @@ public interface EndElement /** * Returns the namespaces that have gone out of scope. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Iterator getNamespaces(); } diff --git a/libjava/classpath/javax/xml/stream/events/StartElement.java b/libjava/classpath/javax/xml/stream/events/StartElement.java index 359b57eefd7..9d189729940 100644 --- a/libjava/classpath/javax/xml/stream/events/StartElement.java +++ b/libjava/classpath/javax/xml/stream/events/StartElement.java @@ -56,13 +56,13 @@ public interface StartElement /** * Returns the attributes declared on this element. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Iterator getAttributes(); /** * Returns the namespaces declared on this element. */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Iterator getNamespaces(); /** diff --git a/libjava/classpath/javax/xml/xpath/XPathFunction.java b/libjava/classpath/javax/xml/xpath/XPathFunction.java index 4406e318c89..b7be0902d88 100644 --- a/libjava/classpath/javax/xml/xpath/XPathFunction.java +++ b/libjava/classpath/javax/xml/xpath/XPathFunction.java @@ -52,7 +52,7 @@ public interface XPathFunction * Evaluate the function with the specified arguments. * @param args the list of arguments */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") Object evaluate(List args) throws XPathFunctionException; diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in index 384e77294ec..c4174e2bf77 100644 --- a/libjava/classpath/lib/Makefile.in +++ b/libjava/classpath/lib/Makefile.in @@ -42,9 +42,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -63,7 +60,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -173,6 +172,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class Binary files differindex ace90631790..5d010e752bb 100644 --- a/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class +++ b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class Binary files differindex ccee011a495..64d83fd1a9d 100644 --- a/libjava/classpath/lib/gnu/java/locale/LocaleData.class +++ b/libjava/classpath/lib/gnu/java/locale/LocaleData.class diff --git a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class Binary files differindex ffb2da7509b..db38ad46e75 100644 --- a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class +++ b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class diff --git a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class Binary files differindex d079038dc97..dd989b6d980 100644 --- a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class +++ b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class diff --git a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class Binary files differindex aefba44845c..2d363eb7ce6 100644 --- a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class +++ b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class diff --git a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class Binary files differindex 5942a8b50b3..064e10a57b6 100644 --- a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class +++ b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class diff --git a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class Binary files differindex a186739030b..9810143f135 100644 --- a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class +++ b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class Binary files differindex 14f2ee9a929..e5a1d9bb375 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class Binary files differindex 98308e6611c..9b42393aec1 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class Binary files differindex dec2b5f6682..3d8fe9a8414 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class Binary files differindex 0405bdd810b..194122d1d56 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class Binary files differindex e49d868ffcb..c710c51639e 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class Binary files differindex 79fce7a5815..691d70495bb 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class Binary files differindex 0e098ae2d53..4ad4e0b239e 100644 --- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class +++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class Binary files differindex 4c2a29eefd4..0efa6acd13e 100644 --- a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class +++ b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class Binary files differindex b5719ac9315..5852448de9d 100644 --- a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class +++ b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class Binary files differindex fc1e1f6c58b..e92c06a6b0a 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class +++ b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class Binary files differindex 334cb337b98..6c69f0463ff 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class +++ b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class Binary files differindex 94e29bfccfd..1a0d3781499 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class +++ b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class Binary files differindex 43db6c328d8..323d25d3172 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class +++ b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class Binary files differindex 75ddff5a5fc..d63c6519ef7 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class +++ b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class Binary files differindex dd5cd3dcd33..80f2414fe7f 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class +++ b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class diff --git a/libjava/classpath/lib/java/awt/geom/Area$Segment.class b/libjava/classpath/lib/java/awt/geom/Area$Segment.class Binary files differindex 8bf86731618..b9d4cf283f0 100644 --- a/libjava/classpath/lib/java/awt/geom/Area$Segment.class +++ b/libjava/classpath/lib/java/awt/geom/Area$Segment.class diff --git a/libjava/classpath/lib/java/awt/geom/Area.class b/libjava/classpath/lib/java/awt/geom/Area.class Binary files differindex 33273fe49ba..e6f9f59432d 100644 --- a/libjava/classpath/lib/java/awt/geom/Area.class +++ b/libjava/classpath/lib/java/awt/geom/Area.class diff --git a/libjava/classpath/lib/java/beans/XMLDecoder.class b/libjava/classpath/lib/java/beans/XMLDecoder.class Binary files differindex 813af311c12..83afdd9ea7f 100644 --- a/libjava/classpath/lib/java/beans/XMLDecoder.class +++ b/libjava/classpath/lib/java/beans/XMLDecoder.class diff --git a/libjava/classpath/lib/java/beans/XMLEncoder.class b/libjava/classpath/lib/java/beans/XMLEncoder.class Binary files differindex af6b30fdd6b..7a42958082a 100644 --- a/libjava/classpath/lib/java/beans/XMLEncoder.class +++ b/libjava/classpath/lib/java/beans/XMLEncoder.class diff --git a/libjava/classpath/lib/java/io/Closeable.class b/libjava/classpath/lib/java/io/Closeable.class Binary files differindex e47f5e4dbbb..68ec82094ec 100644 --- a/libjava/classpath/lib/java/io/Closeable.class +++ b/libjava/classpath/lib/java/io/Closeable.class diff --git a/libjava/classpath/lib/java/io/ObjectInput.class b/libjava/classpath/lib/java/io/ObjectInput.class Binary files differindex f0d1a9ea8e4..d6d71abd558 100644 --- a/libjava/classpath/lib/java/io/ObjectInput.class +++ b/libjava/classpath/lib/java/io/ObjectInput.class diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class Binary files differindex ebb9450e0eb..cd95577b555 100644 --- a/libjava/classpath/lib/java/io/ObjectInputStream$1.class +++ b/libjava/classpath/lib/java/io/ObjectInputStream$1.class diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class Binary files differindex 04120792738..3eab2f2363e 100644 --- a/libjava/classpath/lib/java/io/ObjectInputStream$2.class +++ b/libjava/classpath/lib/java/io/ObjectInputStream$2.class diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class Binary files differindex 0662f872473..eb606bd3a98 100644 --- a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class +++ b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class Binary files differindex a95eebd471a..05d09e224a5 100644 --- a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class +++ b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class Binary files differindex dcc37dda2b4..911a87fefc2 100644 --- a/libjava/classpath/lib/java/io/ObjectInputStream.class +++ b/libjava/classpath/lib/java/io/ObjectInputStream.class diff --git a/libjava/classpath/lib/java/io/ObjectOutput.class b/libjava/classpath/lib/java/io/ObjectOutput.class Binary files differindex ccc1902d67c..6a117277391 100644 --- a/libjava/classpath/lib/java/io/ObjectOutput.class +++ b/libjava/classpath/lib/java/io/ObjectOutput.class diff --git a/libjava/classpath/lib/java/lang/AssertionError.class b/libjava/classpath/lib/java/lang/AssertionError.class Binary files differindex e81c3c60d33..c8e7090d435 100644 --- a/libjava/classpath/lib/java/lang/AssertionError.class +++ b/libjava/classpath/lib/java/lang/AssertionError.class diff --git a/libjava/classpath/lib/java/lang/AutoCloseable.class b/libjava/classpath/lib/java/lang/AutoCloseable.class Binary files differnew file mode 100644 index 00000000000..a25ccd62254 --- /dev/null +++ b/libjava/classpath/lib/java/lang/AutoCloseable.class diff --git a/libjava/classpath/lib/java/lang/Boolean.class b/libjava/classpath/lib/java/lang/Boolean.class Binary files differindex 820c590167e..ebef14d7b4b 100644 --- a/libjava/classpath/lib/java/lang/Boolean.class +++ b/libjava/classpath/lib/java/lang/Boolean.class diff --git a/libjava/classpath/lib/java/lang/Byte.class b/libjava/classpath/lib/java/lang/Byte.class Binary files differindex 56635ac580c..906aec7d7cc 100644 --- a/libjava/classpath/lib/java/lang/Byte.class +++ b/libjava/classpath/lib/java/lang/Byte.class diff --git a/libjava/classpath/lib/java/lang/ClassNotFoundException.class b/libjava/classpath/lib/java/lang/ClassNotFoundException.class Binary files differindex 27239e48359..fd984dc9b55 100644 --- a/libjava/classpath/lib/java/lang/ClassNotFoundException.class +++ b/libjava/classpath/lib/java/lang/ClassNotFoundException.class diff --git a/libjava/classpath/lib/java/lang/IllegalAccessException.class b/libjava/classpath/lib/java/lang/IllegalAccessException.class Binary files differindex e5dd5b449a7..2091af3e895 100644 --- a/libjava/classpath/lib/java/lang/IllegalAccessException.class +++ b/libjava/classpath/lib/java/lang/IllegalAccessException.class diff --git a/libjava/classpath/lib/java/lang/InstantiationException.class b/libjava/classpath/lib/java/lang/InstantiationException.class Binary files differindex 60311a8eb8f..f6a6dbff687 100644 --- a/libjava/classpath/lib/java/lang/InstantiationException.class +++ b/libjava/classpath/lib/java/lang/InstantiationException.class diff --git a/libjava/classpath/lib/java/lang/Integer.class b/libjava/classpath/lib/java/lang/Integer.class Binary files differindex 2f894a434cb..867af0a3d70 100644 --- a/libjava/classpath/lib/java/lang/Integer.class +++ b/libjava/classpath/lib/java/lang/Integer.class diff --git a/libjava/classpath/lib/java/lang/LinkageError.class b/libjava/classpath/lib/java/lang/LinkageError.class Binary files differindex b297fe1b51b..f23cc2d3767 100644 --- a/libjava/classpath/lib/java/lang/LinkageError.class +++ b/libjava/classpath/lib/java/lang/LinkageError.class diff --git a/libjava/classpath/lib/java/lang/Long.class b/libjava/classpath/lib/java/lang/Long.class Binary files differindex 7223992a11c..69096d99021 100644 --- a/libjava/classpath/lib/java/lang/Long.class +++ b/libjava/classpath/lib/java/lang/Long.class diff --git a/libjava/classpath/lib/java/lang/NoSuchFieldException.class b/libjava/classpath/lib/java/lang/NoSuchFieldException.class Binary files differindex 4ead8e6eec1..6dbff7efc37 100644 --- a/libjava/classpath/lib/java/lang/NoSuchFieldException.class +++ b/libjava/classpath/lib/java/lang/NoSuchFieldException.class diff --git a/libjava/classpath/lib/java/lang/NoSuchMethodException.class b/libjava/classpath/lib/java/lang/NoSuchMethodException.class Binary files differindex 47cacd0af19..b81172dd5a4 100644 --- a/libjava/classpath/lib/java/lang/NoSuchMethodException.class +++ b/libjava/classpath/lib/java/lang/NoSuchMethodException.class diff --git a/libjava/classpath/lib/java/lang/ReflectiveOperationException.class b/libjava/classpath/lib/java/lang/ReflectiveOperationException.class Binary files differnew file mode 100644 index 00000000000..2e4832d15c8 --- /dev/null +++ b/libjava/classpath/lib/java/lang/ReflectiveOperationException.class diff --git a/libjava/classpath/lib/java/lang/Short.class b/libjava/classpath/lib/java/lang/Short.class Binary files differindex 0baf8dc1405..0043f318e02 100644 --- a/libjava/classpath/lib/java/lang/Short.class +++ b/libjava/classpath/lib/java/lang/Short.class diff --git a/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class Binary files differindex fa53a89a74a..350304589b7 100644 --- a/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class +++ b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class diff --git a/libjava/classpath/lib/java/lang/reflect/Member.class b/libjava/classpath/lib/java/lang/reflect/Member.class Binary files differindex aca4f3daaac..083005b1008 100644 --- a/libjava/classpath/lib/java/lang/reflect/Member.class +++ b/libjava/classpath/lib/java/lang/reflect/Member.class diff --git a/libjava/classpath/lib/java/nio/channels/FileLock.class b/libjava/classpath/lib/java/nio/channels/FileLock.class Binary files differindex 72969c2e832..528bcf6a6e5 100644 --- a/libjava/classpath/lib/java/nio/channels/FileLock.class +++ b/libjava/classpath/lib/java/nio/channels/FileLock.class diff --git a/libjava/classpath/lib/java/sql/Connection.class b/libjava/classpath/lib/java/sql/Connection.class Binary files differindex d9adc68489a..7e5234e330b 100644 --- a/libjava/classpath/lib/java/sql/Connection.class +++ b/libjava/classpath/lib/java/sql/Connection.class diff --git a/libjava/classpath/lib/java/sql/ResultSet.class b/libjava/classpath/lib/java/sql/ResultSet.class Binary files differindex 7f08c392dbb..98e2557efd7 100644 --- a/libjava/classpath/lib/java/sql/ResultSet.class +++ b/libjava/classpath/lib/java/sql/ResultSet.class diff --git a/libjava/classpath/lib/java/sql/Statement.class b/libjava/classpath/lib/java/sql/Statement.class Binary files differindex c383f68f691..fede03928f4 100644 --- a/libjava/classpath/lib/java/sql/Statement.class +++ b/libjava/classpath/lib/java/sql/Statement.class diff --git a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class Binary files differindex 53c56927c6d..f38e62e2857 100644 --- a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class +++ b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class diff --git a/libjava/classpath/lib/java/text/AttributedString.class b/libjava/classpath/lib/java/text/AttributedString.class Binary files differindex bf878f4fb08..a6e41999fa1 100644 --- a/libjava/classpath/lib/java/text/AttributedString.class +++ b/libjava/classpath/lib/java/text/AttributedString.class diff --git a/libjava/classpath/lib/java/text/AttributedStringIterator.class b/libjava/classpath/lib/java/text/AttributedStringIterator.class Binary files differindex 9768432c04b..6607eb6ddec 100644 --- a/libjava/classpath/lib/java/text/AttributedStringIterator.class +++ b/libjava/classpath/lib/java/text/AttributedStringIterator.class diff --git a/libjava/classpath/lib/java/text/Bidi.class b/libjava/classpath/lib/java/text/Bidi.class Binary files differindex a66d1b5ab84..47d3bd703fb 100644 --- a/libjava/classpath/lib/java/text/Bidi.class +++ b/libjava/classpath/lib/java/text/Bidi.class diff --git a/libjava/classpath/lib/java/text/BreakIterator.class b/libjava/classpath/lib/java/text/BreakIterator.class Binary files differindex 7b2538c7525..8e9fd0f785d 100644 --- a/libjava/classpath/lib/java/text/BreakIterator.class +++ b/libjava/classpath/lib/java/text/BreakIterator.class diff --git a/libjava/classpath/lib/java/text/ChoiceFormat.class b/libjava/classpath/lib/java/text/ChoiceFormat.class Binary files differindex 7fb2c84fdcf..a7d8afe1008 100644 --- a/libjava/classpath/lib/java/text/ChoiceFormat.class +++ b/libjava/classpath/lib/java/text/ChoiceFormat.class diff --git a/libjava/classpath/lib/java/text/CollationElementIterator.class b/libjava/classpath/lib/java/text/CollationElementIterator.class Binary files differindex 2e5675ee45a..b98f01988f5 100644 --- a/libjava/classpath/lib/java/text/CollationElementIterator.class +++ b/libjava/classpath/lib/java/text/CollationElementIterator.class diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class b/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class Binary files differnew file mode 100644 index 00000000000..22ecff9b82c --- /dev/null +++ b/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class Binary files differindex 7a367e68d9f..6c4ac6eaea4 100644 --- a/libjava/classpath/lib/java/text/DateFormatSymbols.class +++ b/libjava/classpath/lib/java/text/DateFormatSymbols.class diff --git a/libjava/classpath/lib/java/text/DecimalFormat.class b/libjava/classpath/lib/java/text/DecimalFormat.class Binary files differindex ac7c7f9bb54..30d1a9b5bcf 100644 --- a/libjava/classpath/lib/java/text/DecimalFormat.class +++ b/libjava/classpath/lib/java/text/DecimalFormat.class diff --git a/libjava/classpath/lib/java/text/Format.class b/libjava/classpath/lib/java/text/Format.class Binary files differindex 317e543130b..f028f402d80 100644 --- a/libjava/classpath/lib/java/text/Format.class +++ b/libjava/classpath/lib/java/text/Format.class diff --git a/libjava/classpath/lib/java/text/MessageFormat$Field.class b/libjava/classpath/lib/java/text/MessageFormat$Field.class Binary files differindex 9d3230341b6..c8eb504ef87 100644 --- a/libjava/classpath/lib/java/text/MessageFormat$Field.class +++ b/libjava/classpath/lib/java/text/MessageFormat$Field.class diff --git a/libjava/classpath/lib/java/text/MessageFormat.class b/libjava/classpath/lib/java/text/MessageFormat.class Binary files differindex 5ad2834305c..b077c51624c 100644 --- a/libjava/classpath/lib/java/text/MessageFormat.class +++ b/libjava/classpath/lib/java/text/MessageFormat.class diff --git a/libjava/classpath/lib/java/text/NumberFormat$Field.class b/libjava/classpath/lib/java/text/NumberFormat$Field.class Binary files differindex 4a926d3fa84..3f43075427f 100644 --- a/libjava/classpath/lib/java/text/NumberFormat$Field.class +++ b/libjava/classpath/lib/java/text/NumberFormat$Field.class diff --git a/libjava/classpath/lib/java/text/NumberFormat.class b/libjava/classpath/lib/java/text/NumberFormat.class Binary files differindex e1072aa8ed9..0a1939e8829 100644 --- a/libjava/classpath/lib/java/text/NumberFormat.class +++ b/libjava/classpath/lib/java/text/NumberFormat.class diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat.class b/libjava/classpath/lib/java/text/SimpleDateFormat.class Binary files differindex 1bca569ab66..a6de266da51 100644 --- a/libjava/classpath/lib/java/text/SimpleDateFormat.class +++ b/libjava/classpath/lib/java/text/SimpleDateFormat.class diff --git a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class Binary files differindex b636121d370..efe63ea919a 100644 --- a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class +++ b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class diff --git a/libjava/classpath/lib/java/util/Collections$1.class b/libjava/classpath/lib/java/util/Collections$1.class Binary files differindex 2ec7056606a..ce90ce96f67 100644 --- a/libjava/classpath/lib/java/util/Collections$1.class +++ b/libjava/classpath/lib/java/util/Collections$1.class diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class Binary files differindex 98e5b931568..2ed6a1167db 100644 --- a/libjava/classpath/lib/java/util/Collections$2.class +++ b/libjava/classpath/lib/java/util/Collections$2.class diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class Binary files differindex b5e38121697..575702bfeef 100644 --- a/libjava/classpath/lib/java/util/Collections$3.class +++ b/libjava/classpath/lib/java/util/Collections$3.class diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class Binary files differindex 9a096576108..8bcf8e2bf3d 100644 --- a/libjava/classpath/lib/java/util/Collections$4.class +++ b/libjava/classpath/lib/java/util/Collections$4.class diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class Binary files differindex 3046de6df7c..18e449828ef 100644 --- a/libjava/classpath/lib/java/util/Collections$5.class +++ b/libjava/classpath/lib/java/util/Collections$5.class diff --git a/libjava/classpath/lib/java/util/Collections$6.class b/libjava/classpath/lib/java/util/Collections$6.class Binary files differindex ef1f0819a9d..70025e35850 100644 --- a/libjava/classpath/lib/java/util/Collections$6.class +++ b/libjava/classpath/lib/java/util/Collections$6.class diff --git a/libjava/classpath/lib/java/util/Collections$7.class b/libjava/classpath/lib/java/util/Collections$7.class Binary files differindex 8b6f1d6d04a..4a0a105d704 100644 --- a/libjava/classpath/lib/java/util/Collections$7.class +++ b/libjava/classpath/lib/java/util/Collections$7.class diff --git a/libjava/classpath/lib/java/util/Collections$8.class b/libjava/classpath/lib/java/util/Collections$8.class Binary files differindex f86527f472e..d5c1b9f2da2 100644 --- a/libjava/classpath/lib/java/util/Collections$8.class +++ b/libjava/classpath/lib/java/util/Collections$8.class diff --git a/libjava/classpath/lib/java/util/Collections$9.class b/libjava/classpath/lib/java/util/Collections$9.class Binary files differindex 625c6ae89f2..9bfb7953aaa 100644 --- a/libjava/classpath/lib/java/util/Collections$9.class +++ b/libjava/classpath/lib/java/util/Collections$9.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class Binary files differindex 519d8b0342c..b2112a8d286 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class Binary files differindex 4012973b467..9d24eba7fe7 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedList.class b/libjava/classpath/lib/java/util/Collections$CheckedList.class Binary files differindex f103934355e..153d80288d5 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedList.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedList.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class Binary files differindex 621cedfbe5f..0af97b9765b 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class Binary files differindex a0d77a84368..1e0de3b6410 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedMap.class Binary files differindex 42fbd4ac730..92527ed7abc 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedMap.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedMap.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class Binary files differindex 7cb5ae94af9..9ae361edfa6 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSet.class Binary files differindex e77d9ec4d24..b8694fc42ad 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedSet.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedSet.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class Binary files differindex 3e00bc057fd..0af46c40e84 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class Binary files differindex 576324033ad..76b1860527c 100644 --- a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class +++ b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class diff --git a/libjava/classpath/lib/java/util/Collections$CopiesList.class b/libjava/classpath/lib/java/util/Collections$CopiesList.class Binary files differindex be0e555f09d..6b178452205 100644 --- a/libjava/classpath/lib/java/util/Collections$CopiesList.class +++ b/libjava/classpath/lib/java/util/Collections$CopiesList.class diff --git a/libjava/classpath/lib/java/util/Collections$EmptyList.class b/libjava/classpath/lib/java/util/Collections$EmptyList.class Binary files differindex d6ff9f337ab..11fee9ad7dc 100644 --- a/libjava/classpath/lib/java/util/Collections$EmptyList.class +++ b/libjava/classpath/lib/java/util/Collections$EmptyList.class diff --git a/libjava/classpath/lib/java/util/Collections$EmptyMap.class b/libjava/classpath/lib/java/util/Collections$EmptyMap.class Binary files differindex d7a2934e033..960b9fbfc40 100644 --- a/libjava/classpath/lib/java/util/Collections$EmptyMap.class +++ b/libjava/classpath/lib/java/util/Collections$EmptyMap.class diff --git a/libjava/classpath/lib/java/util/Collections$EmptySet.class b/libjava/classpath/lib/java/util/Collections$EmptySet.class Binary files differindex a1a88ebf79b..d099ca2f111 100644 --- a/libjava/classpath/lib/java/util/Collections$EmptySet.class +++ b/libjava/classpath/lib/java/util/Collections$EmptySet.class diff --git a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class Binary files differindex 5716fa21753..25475af47b3 100644 --- a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class +++ b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class diff --git a/libjava/classpath/lib/java/util/Collections$MapSet.class b/libjava/classpath/lib/java/util/Collections$MapSet.class Binary files differindex 8a02ecb6d5c..e89a8a5701e 100644 --- a/libjava/classpath/lib/java/util/Collections$MapSet.class +++ b/libjava/classpath/lib/java/util/Collections$MapSet.class diff --git a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class Binary files differindex c07305a5ff1..5dae886b7eb 100644 --- a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class +++ b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class diff --git a/libjava/classpath/lib/java/util/Collections$SingletonList.class b/libjava/classpath/lib/java/util/Collections$SingletonList.class Binary files differindex ba6f153b93d..386f9e21860 100644 --- a/libjava/classpath/lib/java/util/Collections$SingletonList.class +++ b/libjava/classpath/lib/java/util/Collections$SingletonList.class diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class Binary files differindex d1c50c42220..e5f2dec2785 100644 --- a/libjava/classpath/lib/java/util/Collections$SingletonMap.class +++ b/libjava/classpath/lib/java/util/Collections$SingletonMap.class diff --git a/libjava/classpath/lib/java/util/Collections$SingletonSet.class b/libjava/classpath/lib/java/util/Collections$SingletonSet.class Binary files differindex 53a098dc3de..74259753f38 100644 --- a/libjava/classpath/lib/java/util/Collections$SingletonSet.class +++ b/libjava/classpath/lib/java/util/Collections$SingletonSet.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class Binary files differindex eccb9db1f9c..0137ad0e500 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class Binary files differindex 78f7edf7599..0326c55b343 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class Binary files differindex 74f95300db4..24776e1b480 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class Binary files differindex 2a50db40567..b3939e6e574 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class Binary files differindex fcb0533d9c3..c4b9b58a776 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class Binary files differindex 08fdb6ca728..9efce59f143 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class Binary files differindex 1ae8ea307c4..f19098e5c0e 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class Binary files differindex 62a25ade1e2..5d7cbf97da3 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class Binary files differindex 30ba4a3cd7b..d985d01975f 100644 --- a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class +++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class Binary files differindex e51c804ac4c..f7ccb5a7844 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class Binary files differindex 6a53b067ee4..b82ef1134b1 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class Binary files differindex db804bfbc60..98c66ce661a 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class Binary files differindex 490e99c442f..73150c8fe14 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class Binary files differindex 56f5692fe49..0d4581ef81a 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class Binary files differindex 081bf52dcc1..664edb1c76a 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class Binary files differindex d985db96dd2..7a9ea6e229e 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class Binary files differindex 63b38d4dfaa..589ee32e42d 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class Binary files differindex 39be8d6650e..77c4642f829 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class Binary files differindex 39be88cf4cd..0a336156374 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class Binary files differindex 96c5905bb46..83ff190d122 100644 --- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class +++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class diff --git a/libjava/classpath/lib/java/util/Collections.class b/libjava/classpath/lib/java/util/Collections.class Binary files differindex 1e5ed0c27d8..e2f12077141 100644 --- a/libjava/classpath/lib/java/util/Collections.class +++ b/libjava/classpath/lib/java/util/Collections.class diff --git a/libjava/classpath/lib/java/util/Formatter.class b/libjava/classpath/lib/java/util/Formatter.class Binary files differindex 888c29ce773..54020a65f4c 100644 --- a/libjava/classpath/lib/java/util/Formatter.class +++ b/libjava/classpath/lib/java/util/Formatter.class diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class Binary files differindex 7ec855bf98b..b97d9ca01d6 100644 --- a/libjava/classpath/lib/java/util/TimeZone$1.class +++ b/libjava/classpath/lib/java/util/TimeZone$1.class diff --git a/libjava/classpath/lib/java/util/TimeZone.class b/libjava/classpath/lib/java/util/TimeZone.class Binary files differindex 8856dc33ff0..b971d38889b 100644 --- a/libjava/classpath/lib/java/util/TimeZone.class +++ b/libjava/classpath/lib/java/util/TimeZone.class diff --git a/libjava/classpath/lib/java/util/regex/Matcher.class b/libjava/classpath/lib/java/util/regex/Matcher.class Binary files differindex 0d623321cbf..c1632e9490a 100644 --- a/libjava/classpath/lib/java/util/regex/Matcher.class +++ b/libjava/classpath/lib/java/util/regex/Matcher.class diff --git a/libjava/classpath/lib/javax/security/sasl/Sasl.class b/libjava/classpath/lib/javax/security/sasl/Sasl.class Binary files differindex f730d3191f4..2208e38b912 100644 --- a/libjava/classpath/lib/javax/security/sasl/Sasl.class +++ b/libjava/classpath/lib/javax/security/sasl/Sasl.class diff --git a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class Binary files differindex 8ac24605748..42e8118f914 100644 --- a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class +++ b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class Binary files differindex 773d8316752..08ec6aa66c1 100644 --- a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class +++ b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class Binary files differindex a299aa94f4e..4c0727f5338 100644 --- a/libjava/classpath/lib/javax/sound/midi/MidiDevice.class +++ b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class diff --git a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class Binary files differindex 96da633c284..1e7b3c9cad8 100644 --- a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class +++ b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class diff --git a/libjava/classpath/lib/javax/sound/midi/Receiver.class b/libjava/classpath/lib/javax/sound/midi/Receiver.class Binary files differindex 965bd62c370..01b552499f2 100644 --- a/libjava/classpath/lib/javax/sound/midi/Receiver.class +++ b/libjava/classpath/lib/javax/sound/midi/Receiver.class diff --git a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class Binary files differindex 9d6077963fd..6ff8e6175a8 100644 --- a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class +++ b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class diff --git a/libjava/classpath/lib/javax/sound/midi/Track.class b/libjava/classpath/lib/javax/sound/midi/Track.class Binary files differindex 48f61a4f035..bdbc3a80b64 100644 --- a/libjava/classpath/lib/javax/sound/midi/Track.class +++ b/libjava/classpath/lib/javax/sound/midi/Track.class diff --git a/libjava/classpath/lib/javax/sound/midi/Transmitter.class b/libjava/classpath/lib/javax/sound/midi/Transmitter.class Binary files differindex 41b968b49ff..b68647baefb 100644 --- a/libjava/classpath/lib/javax/sound/midi/Transmitter.class +++ b/libjava/classpath/lib/javax/sound/midi/Transmitter.class diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class Binary files differindex 81dc2ac1a00..4c0d466d583 100644 --- a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class +++ b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class diff --git a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class Binary files differindex 209f4f95589..b12d731a377 100644 --- a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class +++ b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class diff --git a/libjava/classpath/lib/javax/sound/sampled/Line.class b/libjava/classpath/lib/javax/sound/sampled/Line.class Binary files differindex 40270c1546f..56aec6b25e9 100644 --- a/libjava/classpath/lib/javax/sound/sampled/Line.class +++ b/libjava/classpath/lib/javax/sound/sampled/Line.class diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class Binary files differindex 25f7b08b78e..b79d528ca3d 100644 --- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class +++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class Binary files differindex 58240b4697f..8e60a6bf8c3 100644 --- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class +++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class Binary files differindex f370cc8fdcb..132bbb773f5 100644 --- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class +++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class diff --git a/libjava/classpath/m4/ac_prog_javac.m4 b/libjava/classpath/m4/ac_prog_javac.m4 index 2162c1d8d8a..0f8f226efbd 100644 --- a/libjava/classpath/m4/ac_prog_javac.m4 +++ b/libjava/classpath/m4/ac_prog_javac.m4 @@ -36,7 +36,7 @@ dnl Modified to remove jikes by Andrew John Hughes on 2008-02-11 AC_DEFUN_ONCE([AC_PROG_JAVAC],[ AC_REQUIRE([AC_EXEEXT])dnl -ECJ_OPTS="-warn:-deprecation,serial,unusedImport" +ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource" JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides" GCJ_OPTS="-g" if test "x$JAVAPREFIX" = x; then diff --git a/libjava/classpath/m4/acinclude.m4 b/libjava/classpath/m4/acinclude.m4 index 65cb8fc4769..b5fa999bb5e 100644 --- a/libjava/classpath/m4/acinclude.m4 +++ b/libjava/classpath/m4/acinclude.m4 @@ -190,6 +190,8 @@ AC_DEFUN([CLASSPATH_WITH_GJDOC], case ${gjdoc_version} in 0.7.9) ;; 0.8*) ;; + 0.9*) ;; + 1*) ;; *) AC_MSG_ERROR([Building documentation requires GJDoc >= 0.7.9, ${gjdoc_version} found.]) ;; esac fi diff --git a/libjava/classpath/m4/lib-ld.m4 b/libjava/classpath/m4/lib-ld.m4 new file mode 100644 index 00000000000..ebb30528bd5 --- /dev/null +++ b/libjava/classpath/m4/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes ;; +*) + acl_cv_prog_gnu_ld=no ;; +esac]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH([gnu-ld], +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT([$LD]) +else + AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/libjava/classpath/m4/lib-link.m4 b/libjava/classpath/m4/lib-link.m4 new file mode 100644 index 00000000000..c73bd8e3a47 --- /dev/null +++ b/libjava/classpath/m4/lib-link.m4 @@ -0,0 +1,774 @@ +# lib-link.m4 serial 21 (gettext-0.18) +dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.54]) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + popdef([NAME]) + popdef([Name]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, + dnl because these -l options might require -L options that are present in + dnl LIBS. -l options benefit only from the -L options listed before it. + dnl Otherwise, add it to the front of LIBS, because it may be a static + dnl library that depends on another static library that is present in LIBS. + dnl Static libraries benefit only from the static libraries listed after + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; + *) LIBS="$LIB[]NAME $LIBS" ;; + esac + AC_TRY_LINK([$3], [$4], + [ac_cv_lib[]Name=yes], + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + popdef([NAME]) + popdef([Name]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl acl_libext, +dnl acl_shlibext, +dnl acl_hardcode_libdir_flag_spec, +dnl acl_hardcode_libdir_separator, +dnl acl_hardcode_direct, +dnl acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/libjava/classpath/m4/lib-prefix.m4 b/libjava/classpath/m4/lib-prefix.m4 new file mode 100644 index 00000000000..1601ceaefd3 --- /dev/null +++ b/libjava/classpath/m4/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/libjava/classpath/missing b/libjava/classpath/missing index 86a8fc31e3c..28055d2ae6f 100755 --- a/libjava/classpath/missing +++ b/libjava/classpath/missing @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2012-01-06.13; # UTC +scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +# 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -84,6 +84,7 @@ Supported PROGRAM values: help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -121,6 +122,15 @@ case $1 in # Not GNU programs, they don't have --version. ;; + tar*) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -216,7 +226,7 @@ WARNING: \`$1' $msg. You should only need it if \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG=\${$#} + eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -246,7 +256,7 @@ WARNING: \`$1' is $msg. You should only need it if \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG=\${$#} + eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -308,6 +318,41 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; + tar*) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case $firstarg in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case $firstarg in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in index 8761df3e5d3..360fb52c7a5 100644 --- a/libjava/classpath/native/Makefile.in +++ b/libjava/classpath/native/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -207,6 +206,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in index 0fa84e35a6a..bd15ce000e1 100644 --- a/libjava/classpath/native/fdlibm/Makefile.in +++ b/libjava/classpath/native/fdlibm/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -197,6 +196,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in index 1965c7d041b..8131810182a 100644 --- a/libjava/classpath/native/jawt/Makefile.in +++ b/libjava/classpath/native/jawt/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in index 542704bf4ba..6971c2b9aa7 100644 --- a/libjava/classpath/native/jni/Makefile.in +++ b/libjava/classpath/native/jni/Makefile.in @@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -207,6 +206,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in index 5df9d61b00e..13522d56d11 100644 --- a/libjava/classpath/native/jni/classpath/Makefile.in +++ b/libjava/classpath/native/jni/classpath/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -188,6 +187,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in index 431f0a87ad9..df8aa6f14f1 100644 --- a/libjava/classpath/native/jni/gconf-peer/Makefile.in +++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/gstreamer-peer/Makefile.in b/libjava/classpath/native/jni/gstreamer-peer/Makefile.in index 8f3afc61c31..5160d3ffe53 100644 --- a/libjava/classpath/native/jni/gstreamer-peer/Makefile.in +++ b/libjava/classpath/native/jni/gstreamer-peer/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in index 2ca2fe57af0..ee92424bf44 100644 --- a/libjava/classpath/native/jni/gtk-peer/Makefile.in +++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -252,6 +251,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c index a5e59f7e4fd..771b23e3738 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c @@ -59,14 +59,14 @@ enum java_awt_font_baseline { java_awt_font_HANGING_BASELINE = 2 }; -static PangoFT2FontMap *ft2_map = NULL; +static PangoFontMap *font_map = NULL; JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_initStaticState (JNIEnv *env, jclass clazz __attribute__((unused))) { gtkpeer_init_font_IDs(env); - ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_new()); + font_map = pango_ft2_font_map_new(); } JNIEXPORT void JNICALL @@ -287,7 +287,7 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont pango_font_description_set_size (pfont->desc, size * PANGO_SCALE); /* Create new context */ - pfont->ctx = pango_ft2_font_map_create_context (ft2_map); + pfont->ctx = pango_font_map_create_context (font_map); g_assert (pfont->ctx != NULL); pango_context_set_font_description (pfont->ctx, pfont->desc); diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c index c2fbba21283..0b0dbec4bdb 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c @@ -313,7 +313,7 @@ Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer(JNIEnv *env, jobject obj, JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkImage_freePixbuf(JNIEnv *env, jobject obj) { - gdk_pixbuf_unref (cp_gtk_image_get_pixbuf (env, obj)); + g_object_unref (cp_gtk_image_get_pixbuf (env, obj)); } /** diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in index b9c68adc149..3b3cfecca3e 100644 --- a/libjava/classpath/native/jni/java-io/Makefile.in +++ b/libjava/classpath/native/jni/java-io/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -213,6 +212,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-io/java_io_VMConsole.c b/libjava/classpath/native/jni/java-io/java_io_VMConsole.c index 2883f5f73eb..3ce0a489da3 100644 --- a/libjava/classpath/native/jni/java-io/java_io_VMConsole.c +++ b/libjava/classpath/native/jni/java-io/java_io_VMConsole.c @@ -47,6 +47,10 @@ exception statement from your version. */ /*************************************************************************/ +#ifndef IUCLC +#define IUCLC 0 +#endif + #define TERMIOS_ECHO_IFLAGS (IUCLC|IXON|IXOFF|IXANY) #define TERMIOS_ECHO_LFLAGS (ECHO|ECHOE|ECHOK|ECHONL|TOSTOP) diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in index ea9c3af09a2..ef5ec214e96 100644 --- a/libjava/classpath/native/jni/java-lang/Makefile.in +++ b/libjava/classpath/native/jni/java-lang/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -227,6 +226,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-math/Makefile.in b/libjava/classpath/native/jni/java-math/Makefile.in index 67e4e84c725..f5c3838e517 100644 --- a/libjava/classpath/native/jni/java-math/Makefile.in +++ b/libjava/classpath/native/jni/java-math/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in index 252b9c526ff..64d4025d3fa 100644 --- a/libjava/classpath/native/jni/java-net/Makefile.in +++ b/libjava/classpath/native/jni/java-net/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -223,6 +222,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in index d3458810f8e..1576cc47b03 100644 --- a/libjava/classpath/native/jni/java-nio/Makefile.in +++ b/libjava/classpath/native/jni/java-nio/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -221,6 +220,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in index 50189a649b0..a612fd129ed 100644 --- a/libjava/classpath/native/jni/java-util/Makefile.in +++ b/libjava/classpath/native/jni/java-util/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -210,6 +209,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c b/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c index a3a986d36bc..0830cbe8cb0 100644 --- a/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c +++ b/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c @@ -53,6 +53,7 @@ exception statement from your version. */ #include <stdlib.h> #include <jni.h> +#include <jcl.h> #include "java_util_VMTimeZone.h" @@ -169,7 +170,13 @@ Java_java_util_VMTimeZone_getSystemTimeZoneId (JNIEnv * env, tz1_len = strlen (tz1); tz2_len = strlen (tz2); tzoff_len = jint_to_charbuf (tzoff + 11, tzoffset); - tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1); /* FIXME alloc */ + tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1); + if (tzid == NULL) { + JCL_ThrowException (env, "java/lang/OutOfMemoryError", + "malloc() failed"); + return 0; + } + memcpy (tzid, tz1, tz1_len); memcpy (tzid + tz1_len, tzoff + 11 - tzoff_len, tzoff_len); memcpy (tzid + tz1_len + tzoff_len, tz2, tz2_len); diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in index 8a32375b47e..ac3db83f581 100644 --- a/libjava/classpath/native/jni/midi-alsa/Makefile.in +++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in index b9083b0599c..b1dd722d26a 100644 --- a/libjava/classpath/native/jni/midi-dssi/Makefile.in +++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c b/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c index ec1477ec8db..55881bef884 100644 --- a/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c +++ b/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c @@ -283,15 +283,20 @@ JNIEXPORT void JNICALL Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1 (JNIEnv *env, jclass clazz __attribute__((unused)), jlong handle) { - unsigned int port_count, j, cindex; + unsigned int port_count, j, cindex, ret; const char **ports; int controller = 0; dssi_data *data = (dssi_data *) (long) handle; - if ((data->jack_client = jack_client_new (data->desc->LADSPA_Plugin->Label)) == 0) + jack_status_t status; + char buffer[31]; + + if ((data->jack_client = jack_client_open (data->desc->LADSPA_Plugin->Label, + JackUseExactName, &status)) == 0) { - /* JCL_ThrowException (env, "javax/sound/midi/MidiUnavailableException", */ - JCL_ThrowException (env, "java/io/IOException", - "can't create jack client"); + ret = snprintf(buffer, 31, "can't create jack client: %4d", status); + assert (ret == 30); + JCL_ThrowException (env, "javax/sound/midi/MidiUnavailableException", + buffer); return; } diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in index 83c9e26b479..82d60cdac5f 100644 --- a/libjava/classpath/native/jni/native-lib/Makefile.in +++ b/libjava/classpath/native/jni/native-lib/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -188,6 +187,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in index ada76339080..5fef00d2104 100644 --- a/libjava/classpath/native/jni/qt-peer/Makefile.in +++ b/libjava/classpath/native/jni/qt-peer/Makefile.in @@ -43,9 +43,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -64,7 +61,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -218,6 +217,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in index 5394250d366..257d03eb2bb 100644 --- a/libjava/classpath/native/jni/xmlj/Makefile.in +++ b/libjava/classpath/native/jni/xmlj/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -212,6 +211,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in index 1d2c51a75a5..c673768574c 100644 --- a/libjava/classpath/native/plugin/Makefile.in +++ b/libjava/classpath/native/plugin/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/org/omg/CORBA/LocalObject.java b/libjava/classpath/org/omg/CORBA/LocalObject.java index 60436ee3540..cb0a7e3dbe9 100644 --- a/libjava/classpath/org/omg/CORBA/LocalObject.java +++ b/libjava/classpath/org/omg/CORBA/LocalObject.java @@ -267,7 +267,7 @@ public class LocalObject * * @throws NO_IMPLEMENT always. If used, the method must be overridden. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public ServantObject _servant_preinvoke(String operation, Class expectedType) { throw new NO_IMPLEMENT(INAPPROPRIATE); diff --git a/libjava/classpath/org/omg/CORBA/portable/Delegate.java b/libjava/classpath/org/omg/CORBA/portable/Delegate.java index 33812abe22e..798a1c5e8fe 100644 --- a/libjava/classpath/org/omg/CORBA/portable/Delegate.java +++ b/libjava/classpath/org/omg/CORBA/portable/Delegate.java @@ -376,7 +376,7 @@ public abstract class Delegate * @return the servant or null if the servant is not an expected type * of the method is not supported, for example, due security reasons. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public ServantObject servant_preinvoke(org.omg.CORBA.Object self, String operation, Class expectedType ) diff --git a/libjava/classpath/org/omg/CORBA/portable/InputStream.java b/libjava/classpath/org/omg/CORBA/portable/InputStream.java index aee540d0103..4ac63b66dcd 100644 --- a/libjava/classpath/org/omg/CORBA/portable/InputStream.java +++ b/libjava/classpath/org/omg/CORBA/portable/InputStream.java @@ -237,7 +237,7 @@ public abstract class InputStream * @param klass a CORBA class * @throws NO_IMPLEMENT, always. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public Object read_Object(Class klass) { throw new NO_IMPLEMENT(); diff --git a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java index c7ee707f3ae..5b7919fd0a8 100644 --- a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java +++ b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java @@ -341,7 +341,7 @@ public abstract class ObjectImpl * @return the servant or null if the servant is not an expected type * of the method is not supported, for example, due security reasons. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public ServantObject _servant_preinvoke(String method, Class expected_type) { return delegate.servant_preinvoke(this, method, expected_type); diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java index b457abe98b5..33ad522db98 100644 --- a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java +++ b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java @@ -99,7 +99,7 @@ public abstract class InputStream * * @return an abstract interface, unmarshaled from the stream */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public Object read_abstract_interface(Class clz) { boolean isValue = read_boolean(); @@ -148,7 +148,7 @@ public abstract class InputStream * * @return an value type structure, unmarshaled from the stream */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public Serializable read_value(Class clz) { return Vio.read(this, clz); diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java index e9496ffce4d..4273bfc9057 100644 --- a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java +++ b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java @@ -136,7 +136,7 @@ public abstract class OutputStream * * @param value a value type object to write. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public void write_value(Serializable value, Class clz) { Vio.write(this, value, clz); diff --git a/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java b/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java index dcfb9b59e3c..c0939937fd6 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java @@ -68,7 +68,7 @@ public class _DynAnyFactoryStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynAnyFactoryOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java b/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java index 1a81be30613..a2adec9ed72 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java @@ -66,7 +66,7 @@ public class _DynAnyStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynAnyOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java b/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java index 74e763b3784..719cf87ae35 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java @@ -66,7 +66,7 @@ public class _DynArrayStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynArrayOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java b/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java index e56ed75175e..07b2b7c5dbf 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java @@ -66,7 +66,7 @@ public class _DynEnumStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynEnumOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java b/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java index 759b48a4e2f..51eadf004d0 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java @@ -66,7 +66,7 @@ public class _DynFixedStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynFixedOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java b/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java index 488a7de9cf1..6de97b2fc45 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java @@ -67,7 +67,7 @@ public class _DynSequenceStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynSequenceOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java b/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java index 907f3c83468..f2ca27f0a80 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java @@ -68,7 +68,7 @@ public class _DynStructStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynStructOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java b/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java index 6789a34e8a1..de351d8d4a9 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java @@ -68,7 +68,7 @@ public class _DynUnionStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynUnionOperations.class; /** diff --git a/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java b/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java index fffccfe0e8e..199b7eba832 100644 --- a/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java +++ b/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java @@ -68,7 +68,7 @@ public class _DynValueStub /** * The purpose and value of this field are not documented. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = DynValueOperations.class; /** diff --git a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java index 658ac683c30..811d7430ecd 100644 --- a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java +++ b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java @@ -70,7 +70,7 @@ public class _ServantActivatorStub * This the purpose of this field is undocumented up till 1.5 java API * inclusive. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = ServantActivatorOperations.class; /** diff --git a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java index 039140ebc25..f63340f9822 100644 --- a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java +++ b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java @@ -71,7 +71,7 @@ public class _ServantLocatorStub * This the purpose of this field is undocumented up till 1.5 java API * inclusive. */ - @SuppressWarnings("unchecked") // Needed for API compatibility + @SuppressWarnings("rawtypes") // Needed for API compatibility public static final Class _opsClass = ServantLocatorOperations.class; /** diff --git a/libjava/classpath/resource/Makefile.in b/libjava/classpath/resource/Makefile.in index 81e609175f5..6c136eecb1f 100644 --- a/libjava/classpath/resource/Makefile.in +++ b/libjava/classpath/resource/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -192,6 +191,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties index f43bb6f8378..d6d27bdcb08 100644 --- a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties +++ b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties @@ -1,5 +1,5 @@ # Localized error messages for gnu.regexp, in Italian. -# $Id: MessagesBundle_it.properties,v 1.2 2006/12/10 20:25:50 gnu_andrew Exp $ +# $Id: MessagesBundle_it.properties,v 1.2 2006-12-10 20:25:50 gnu_andrew Exp $ # Messaggi italiani per gnu.regexp. # # Attenzione: Questa traduzione fu scritto da un italo-americano. diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in index d8685815e03..21092327470 100644 --- a/libjava/classpath/scripts/Makefile.in +++ b/libjava/classpath/scripts/Makefile.in @@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -169,6 +168,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/scripts/classpath.spec.in b/libjava/classpath/scripts/classpath.spec.in index 4120d25507c..5363565bf1b 100644 --- a/libjava/classpath/scripts/classpath.spec.in +++ b/libjava/classpath/scripts/classpath.spec.in @@ -1,4 +1,4 @@ -# $Id: classpath.spec.in,v 1.3 2006/12/10 20:25:50 gnu_andrew Exp $ +# $Id: classpath.spec.in,v 1.3 2006-12-10 20:25:50 gnu_andrew Exp $ %define version_num @PACKAGE_VERSION@ %define release_num 1 diff --git a/libjava/classpath/tools/Makefile.in b/libjava/classpath/tools/Makefile.in index 2cf1a008500..b4b2eff49e5 100644 --- a/libjava/classpath/tools/Makefile.in +++ b/libjava/classpath/tools/Makefile.in @@ -54,9 +54,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../config/lib-ld.m4 \ - $(top_srcdir)/../../config/lib-link.m4 \ - $(top_srcdir)/../../config/lib-prefix.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/override.m4 \ @@ -75,7 +72,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs @@ -344,6 +343,7 @@ MAKEINFO = @MAKEINFO@ MKDIR = @MKDIR@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ +MOC4 = @MOC4@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ NM = @NM@ diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class Binary files differindex 8b98e630029..79882ce6ae5 100644 --- a/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class +++ b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class Binary files differindex 56584bdbb7b..32273554958 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class Binary files differindex 939e890ceae..902a01419b0 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class Binary files differdeleted file mode 100644 index d81864f04a8..00000000000 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class +++ /dev/null diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class Binary files differdeleted file mode 100644 index 9336e358481..00000000000 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class +++ /dev/null diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class Binary files differindex b3a2f7b42ee..04004cb70a2 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class Binary files differindex 0e061038e72..d2186334cef 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class Binary files differindex c962bcc1c39..1b2e6ae8b4c 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class Binary files differindex 794d3568d94..9c7adce8f36 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class Binary files differindex 88ed2d53cc6..e15bd1484a3 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class Binary files differindex 3576ed98ead..064c32a94a0 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class Binary files differindex 3d38a044d03..be042e31c85 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class Binary files differindex c6e6f121d7e..bc665c53955 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class Binary files differindex be1eab39129..902315bde68 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class Binary files differindex c7429e294aa..23331dd807a 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class Binary files differindex 5d89719d400..0db6ddeefe1 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class Binary files differindex 3802e3405ce..64faa74cd05 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class Binary files differindex 5d2f22bd82c..3be42965d30 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class Binary files differindex 36049302b99..b3184c7b503 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class Binary files differindex de3c21147f6..71e6b964053 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class Binary files differindex 7f8381f9160..6050b4153ed 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class Binary files differindex ce853e17119..499539d2eab 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class Binary files differindex 2963ccf597e..3cbde58449f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class Binary files differindex 7c9903dc5ea..d7e8ae7700b 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class Binary files differindex 4ca710dd980..ced91143c01 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class Binary files differindex a38964f0f08..2b9c1944a28 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class Binary files differindex b6855389289..44a0368205e 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class Binary files differindex 11549cf7f8b..e17d1579250 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class Binary files differindex 5b5aff1523b..df34d72c460 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class Binary files differindex 884422294cd..47b676e040f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class Binary files differindex 2ba0ccf09cc..bd6579339ef 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class Binary files differindex 597a142cf50..b89326a1af7 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class Binary files differindex bf1c99a432e..4c2f6db71e8 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class Binary files differindex 7bf3e4cb45f..0869d61f601 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class Binary files differindex 41645e8e9b4..021d8852511 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class Binary files differindex ed2e3427e9a..e4806c7148a 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class Binary files differindex 68ec874477a..ed5da320b81 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class Binary files differindex 54fefac98b2..e0066d314d8 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class Binary files differindex 81583d89783..0c49dc9f9e8 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class Binary files differindex a3952995909..04172f0e42b 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class Binary files differindex 61bf1f80899..c27b42a9a33 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class Binary files differindex 60869e5f88f..e86838565e9 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class Binary files differindex 5a9d8482806..7b0d498bdb2 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class Binary files differindex 12a49837f2b..9a0f9ee2d5d 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class Binary files differindex 32e26ffa466..bea6401401f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class Binary files differindex fd99e130d67..e2571d3b48c 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class Binary files differindex 991629a166d..6b6b275563d 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class Binary files differindex 441b8dac273..e02f015bd25 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class Binary files differindex b5015e391a9..b8edf695456 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class Binary files differindex 8690a7e735b..ba8882960bd 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class Binary files differindex 6dbf679eea3..3722ca4b939 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class Binary files differindex 2a4473bbd23..6b6d81b67f8 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class Binary files differindex 50d01704914..2e70f426a37 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class Binary files differindex 5dde313d481..bca2f27acc2 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class Binary files differindex 19e991a628e..2d791e63e25 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class Binary files differindex afa9335a840..255a0b67fd5 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class Binary files differindex 97bda5f9b93..a50c91d36d2 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class Binary files differindex bdf920109b7..ad2f73d0735 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class Binary files differindex e9947add8c3..903c7b5bb79 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class Binary files differindex 2ef9d54d998..867559a266d 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class Binary files differindex 55600beac85..193cf9483f1 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class Binary files differindex f89d662043a..15bb0100270 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class Binary files differindex 037311b3ba2..537511c7c9f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class Binary files differindex 3db73689da6..a61b2bd4286 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class Binary files differindex 470c80c2d83..405eb2a289f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class Binary files differindex 804802be5dc..2030e06e708 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class Binary files differindex b59c7fdc62f..d3a656f6fe0 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class Binary files differindex 965c1aa4199..c7e946969bc 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class Binary files differindex 45c686d3c79..ea004c5ba0b 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class Binary files differindex 5ff7b190298..dd89517daa3 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class Binary files differindex 59a4e3fb9f4..efa322a7692 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class Binary files differindex 313ad8786ba..c5de4c84c7f 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class Binary files differindex 8f5efc34920..30f6e121d1d 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class Binary files differindex f86dafaf9d3..7a54ba1de95 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class Binary files differindex 955983bf135..ad70fb684d1 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class Binary files differindex c9b4581dc5d..ebc89802244 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class diff --git a/libjava/classpath/tools/com/sun/javadoc/Doc.java b/libjava/classpath/tools/com/sun/javadoc/Doc.java index 554720d69d5..f1d82d94dcf 100644 --- a/libjava/classpath/tools/com/sun/javadoc/Doc.java +++ b/libjava/classpath/tools/com/sun/javadoc/Doc.java @@ -1,5 +1,5 @@ /* Doc.java -- Model of an item to document. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package com.sun.javadoc; * This interface is the super-interface of all items that can have * Javadoc comments associated with them. */ -public interface Doc extends java.io.Serializable, Comparable +public interface Doc extends java.io.Serializable, Comparable<Doc> { /** diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java index 4369782f960..9e1fac62ead 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java +++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.doclets.AbstractDoclet - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -103,25 +103,20 @@ public abstract class AbstractDoclet * Mapping from tag type to Taglet for user Taglets specified on * the command line. */ - protected Map tagletMap = new LinkedHashMap(); + protected Map<String,Taglet> tagletMap = new LinkedHashMap<String,Taglet>(); /** * Stores the package groups specified in the user * options. Contains objects of type PackageGroup. */ - private List packageGroups = new LinkedList(); - - /** - * The current classpath for loading taglet classes. - */ - private String tagletPath; + private List<PackageGroup> packageGroups = new LinkedList<PackageGroup>(); /** * Keeps track of the tags mentioned by the user during option * processiong so that an error can be emitted if a tag is * mentioned more than once. */ - private List mentionedTags = new LinkedList(); + private List<Taglet> mentionedTags = new LinkedList<Taglet>(); public static int optionLength(String option) { return instance.getOptionLength(option); @@ -226,9 +221,6 @@ public abstract class AbstractDoclet new DocletOptionFile("-d", new File(System.getProperty("user.dir"))); - private DocletOptionFlag optionNoEmailWarn = - new DocletOptionFlag("-noemailwarn"); - private DocletOptionFlag optionAuthor = new DocletOptionFlag("-author"); @@ -253,93 +245,12 @@ public abstract class AbstractDoclet private DocletOptionColonSeparated optionExcludeDocFilesSubDir = new DocletOptionColonSeparated("-excludedocfilessubdir"); - private DocletOptionTagletPath optionTagletPath = - new DocletOptionTagletPath("-tagletpath"); - private DocletOptionTag optionTaglet = new DocletOptionTag("-taglet"); private DocletOptionTag optionTag = new DocletOptionTag("-tag"); - private class DocletOptionTaglet - extends DocletOption - { - DocletOptionTaglet(String optionName) - { - super(optionName); - } - - public int getLength() - { - return 2; - } - - public boolean set(String[] optionArr) - { - - boolean tagletLoaded = false; - - String useTagletPath = AbstractDoclet.this.tagletPath; - if (null == useTagletPath) { - useTagletPath = System.getProperty("java.class.path"); - } - - try { - Class tagletClass; - try { - tagletClass - = new FileSystemClassLoader(useTagletPath).loadClass(optionArr[1]); - } - catch (ClassNotFoundException e) { - // If not found on specified tagletpath, try default classloader - tagletClass - = Class.forName(optionArr[1]); - } - Method registerTagletMethod - = tagletClass.getDeclaredMethod("register", new Class[] { java.util.Map.class }); - - if (!registerTagletMethod.getReturnType().equals(Void.TYPE)) { - printError("Taglet class '" + optionArr[1] + "' found, but register method doesn't return void."); - } - else if (registerTagletMethod.getExceptionTypes().length > 0) { - printError("Taglet class '" + optionArr[1] + "' found, but register method contains throws clause."); - } - else if ((registerTagletMethod.getModifiers() & (Modifier.STATIC | Modifier.PUBLIC | Modifier.ABSTRACT)) != (Modifier.STATIC | Modifier.PUBLIC)) { - printError("Taglet class '" + optionArr[1] + "' found, but register method isn't public static, or is abstract.."); - } - else { - Map tempMap = new HashMap(); - registerTagletMethod.invoke(null, new Object[] { tempMap }); - tagletLoaded = true; - String name = (String)tempMap.keySet().iterator().next(); - Taglet taglet = (Taglet)tempMap.get(name); - tagletMap.put(name, taglet); - mentionedTags.add(taglet); - } - } - catch (NoSuchMethodException e) { - printError("Taglet class '" + optionArr[1] + "' found, but doesn't contain the register method."); - } - catch (SecurityException e) { - printError("Taglet class '" + optionArr[1] + "' cannot be loaded: " + e.getMessage()); - } - catch (InvocationTargetException e) { - printError("Taglet class '" + optionArr[1] + "' found, but register method throws exception: " + e.toString()); - } - catch (IllegalAccessException e) { - printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString()); - } - catch (IllegalArgumentException e) { - printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString()); - } - catch (ClassNotFoundException e) { - printError("Taglet class '" + optionArr[1] + "' cannot be found."); - } - return tagletLoaded; - } - } - private class DocletOptionGroup extends DocletOption { @@ -364,7 +275,7 @@ public abstract class AbstractDoclet packageMatcher.addWildcard(packageWildcard); } - SortedSet groupPackages = packageMatcher.filter(rootDoc.specifiedPackages()); + SortedSet<PackageDoc> groupPackages = packageMatcher.filter(rootDoc.specifiedPackages()); packageGroups.add(new PackageGroup(optionArr[1], groupPackages)); @@ -376,27 +287,6 @@ public abstract class AbstractDoclet } } - - private class DocletOptionTagletPath - extends DocletOption - { - DocletOptionTagletPath(String optionName) - { - super(optionName); - } - - public int getLength() - { - return 2; - } - - public boolean set(String[] optionArr) - { - AbstractDoclet.this.tagletPath = optionArr[1]; - return true; - } - } - private class DocletOptionTag extends DocletOption { @@ -528,7 +418,6 @@ public abstract class AbstractDoclet optionGroup, optionDocFilesSubDirs, optionExcludeDocFilesSubDir, - optionTagletPath, optionTaglet, optionTag, }; @@ -558,12 +447,12 @@ public abstract class AbstractDoclet nameToOptionMap.put(option.getName(), option); } - private Map nameToOptionMap = new HashMap(); + private Map<String,DocletOption> nameToOptionMap = new HashMap<String,DocletOption>(); private int getOptionLength(String optionName) { registerOptions(); - DocletOption option = (DocletOption)nameToOptionMap.get(optionName.toLowerCase()); + DocletOption option = nameToOptionMap.get(optionName.toLowerCase()); if (null != option) { return option.getLength(); } @@ -572,9 +461,9 @@ public abstract class AbstractDoclet } } - protected List getKnownDirectSubclasses(ClassDoc classDoc) + protected List<ClassDoc> getKnownDirectSubclasses(ClassDoc classDoc) { - List result = new LinkedList(); + List<ClassDoc> result = new LinkedList<ClassDoc>(); if (!"java.lang.Object".equals(classDoc.qualifiedName())) { ClassDoc[] classes = rootDoc.classes(); for (int i=0; i<classes.length; ++i) { @@ -587,7 +476,7 @@ public abstract class AbstractDoclet } protected static class IndexKey - implements Comparable + implements Comparable<IndexKey> { private String name; private String lowerName; @@ -608,9 +497,9 @@ public abstract class AbstractDoclet return lowerName.hashCode(); } - public int compareTo(Object other) + public int compareTo(IndexKey ik) { - return lowerName.compareTo(((IndexKey)other).lowerName); + return lowerName.compareTo(ik.lowerName); } public String getName() @@ -619,29 +508,29 @@ public abstract class AbstractDoclet } } - private Map categorizedIndex; + private Map<Character,List<Doc>> categorizedIndex; - protected Map getCategorizedIndex() + protected Map<Character,List<Doc>> getCategorizedIndex() { if (null == categorizedIndex) { - categorizedIndex = new LinkedHashMap(); + categorizedIndex = new LinkedHashMap<Character,List<Doc>>(); - Map indexMap = getIndexByName(); - LinkedList keys = new LinkedList(); //indexMap.keySet().size()); + Map<IndexKey,Doc> indexMap = getIndexByName(); + LinkedList<IndexKey> keys = new LinkedList<IndexKey>(); //indexMap.keySet().size()); keys.addAll(indexMap.keySet()); Collections.sort(keys); - Iterator it = keys.iterator(); //indexMap.keySet().iterator(); + Iterator<IndexKey> it = keys.iterator(); //indexMap.keySet().iterator(); char previousCategoryLetter = '\0'; Character keyLetter = null; while (it.hasNext()) { - IndexKey key = (IndexKey)it.next(); + IndexKey key = it.next(); char firstChar = Character.toUpperCase(key.getName().charAt(0)); if (firstChar != previousCategoryLetter) { keyLetter = new Character(firstChar); previousCategoryLetter = firstChar; - categorizedIndex.put(keyLetter, new LinkedList()); + categorizedIndex.put(keyLetter, new LinkedList<Doc>()); } - List letterList = (List)categorizedIndex.get(keyLetter); + List<Doc> letterList = categorizedIndex.get(keyLetter); letterList.add(indexMap.get(key)); } } @@ -650,16 +539,16 @@ public abstract class AbstractDoclet } - private Map indexByName; + private Map<IndexKey,Doc> indexByName; - protected Map getIndexByName() + protected Map<IndexKey,Doc> getIndexByName() { if (null == indexByName) { // Create index // Collect index - indexByName = new HashMap(); //TreeMap(); + indexByName = new HashMap<IndexKey,Doc>(); //TreeMap(); // Add packages to index @@ -709,10 +598,9 @@ public abstract class AbstractDoclet protected void printTaglets(Tag[] tags, TagletContext context, TagletPrinter output, boolean inline) { - for (Iterator it = tagletMap.keySet().iterator(); it.hasNext(); ) { - String tagName = (String)it.next(); - Object o = tagletMap.get(tagName); - Taglet taglet = (Taglet)o; + for (Iterator<String> it = tagletMap.keySet().iterator(); it.hasNext(); ) { + String tagName = it.next(); + Taglet taglet = tagletMap.get(tagName); Doc doc = context.getDoc(); if (inline == taglet.isInlineTag() && ((doc == null @@ -724,14 +612,14 @@ public abstract class AbstractDoclet || (doc instanceof PackageDoc && taglet.inPackage()) || ((doc.isClass() || doc.isInterface()) && taglet.inType()))))) { - List tagsOfThisType = new LinkedList(); + List<Tag> tagsOfThisType = new LinkedList<Tag>(); for (int i=0; i<tags.length; ++i) { if (tags[i].name().substring(1).equals(tagName)) { tagsOfThisType.add(tags[i]); } } - Tag[] tagletTags = (Tag[])tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]); + Tag[] tagletTags = tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]); String tagletString; if (taglet instanceof StandardTaglet) { @@ -778,24 +666,24 @@ public abstract class AbstractDoclet /** * @param usedClassToPackagesMap ClassDoc to (PackageDoc to (UsageType to (Set of Doc))) */ - private void addUsedBy(Map usedClassToPackagesMap, + private void addUsedBy(Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap, ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage) { - Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass); + Map<PackageDoc,Map<UsageType,Set<Doc>>> packageToUsageTypeMap = usedClassToPackagesMap.get(usedClass); if (null == packageToUsageTypeMap) { - packageToUsageTypeMap = new HashMap(); + packageToUsageTypeMap = new HashMap<PackageDoc,Map<UsageType,Set<Doc>>>(); usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap); } - Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage); + Map<UsageType,Set<Doc>> usageTypeToUsersMap = packageToUsageTypeMap.get(userPackage); if (null == usageTypeToUsersMap) { - usageTypeToUsersMap = new TreeMap(); + usageTypeToUsersMap = new TreeMap<UsageType,Set<Doc>>(); packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap); } - Set userSet = (Set)usageTypeToUsersMap.get(usageType); + Set<Doc> userSet = usageTypeToUsersMap.get(usageType); if (null == userSet) { - userSet = new TreeSet(); // FIXME: we need the collator from Main here + userSet = new TreeSet<Doc>(); // FIXME: we need the collator from Main here usageTypeToUsersMap.put(usageType, userSet); } userSet.add(user); @@ -806,7 +694,8 @@ public abstract class AbstractDoclet */ private Map collectUsage() { - Map _usedClassToPackagesMap = new HashMap(); + Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> _usedClassToPackagesMap = + new HashMap<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>>(); ClassDoc[] classes = rootDoc.classes(); for (int i = 0, ilim = classes.length; i < ilim; ++ i) { @@ -816,9 +705,9 @@ public abstract class AbstractDoclet // classes implementing InterfaceRelation relation = (InterfaceRelation)getInterfaceRelations().get(clazz); - Iterator it = relation.implementingClasses.iterator(); + Iterator<ClassDoc> it = relation.implementingClasses.iterator(); while (it.hasNext()) { - ClassDoc implementor = (ClassDoc)it.next(); + ClassDoc implementor = it.next(); addUsedBy(_usedClassToPackagesMap, clazz, UsageType.CLASS_IMPLEMENTING, implementor, implementor.containingPackage()); } @@ -915,18 +804,18 @@ public abstract class AbstractDoclet return _usedClassToPackagesMap; } - private Map usedClassToPackagesMap = null; + private Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap = null; - protected Map getUsageOfClass(ClassDoc classDoc) + protected Map<PackageDoc,Map<UsageType,Set<Doc>>> getUsageOfClass(ClassDoc classDoc) { if (null == this.usedClassToPackagesMap) { this.usedClassToPackagesMap = collectUsage(); } - return (Map)this.usedClassToPackagesMap.get(classDoc); + return this.usedClassToPackagesMap.get(classDoc); } protected static class UsageType - implements Comparable + implements Comparable<UsageType> { public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from"); public static final UsageType CLASS_IMPLEMENTING = new UsageType("class-implementing"); @@ -943,9 +832,9 @@ public abstract class AbstractDoclet this.id = id; } - public int compareTo(Object other) + public int compareTo(UsageType ut) { - return this.id.compareTo(((UsageType)other).id); + return this.id.compareTo(ut.id); } public String toString() { @@ -976,7 +865,7 @@ public abstract class AbstractDoclet return MessageFormat.format(getString(key), new Object[] { value1 }); } - protected List getPackageGroups() + protected List<PackageGroup> getPackageGroups() { return packageGroups; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java index 196b74c88c4..39f1103e4b5 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java +++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.doclets.PackageMatcher - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -53,7 +53,7 @@ import com.sun.javadoc.PackageDoc; */ public class PackageMatcher { - private Set patterns = new HashSet(); + private Set<Pattern> patterns = new HashSet<Pattern>(); /** * Add a wildcard to be matched. Wildcards can contain asterisk @@ -117,9 +117,9 @@ public class PackageMatcher * array given will be put into the output list if it matches one * or more of the wildcards added to this PackageMatcher before. */ - public SortedSet filter(PackageDoc[] packageDocs) + public SortedSet<PackageDoc> filter(PackageDoc[] packageDocs) { - SortedSet result = new TreeSet(); + SortedSet<PackageDoc> result = new TreeSet<PackageDoc>(); for (int i=0; i<packageDocs.length; ++i) { if (match(packageDocs[i])) { result.add(packageDocs[i]); @@ -134,9 +134,9 @@ public class PackageMatcher */ public boolean match(PackageDoc packageDoc) { - Iterator it = patterns.iterator(); + Iterator<Pattern> it = patterns.iterator(); while (it.hasNext()) { - Pattern pattern = (Pattern)it.next(); + Pattern pattern = it.next(); Matcher matcher = pattern.matcher(packageDoc.name()); if (matcher.matches()) { return true; diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java index 5ec9806345f..99361fff7ca 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java +++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -109,12 +109,12 @@ public class HtmlDoclet /** * Contains ExternalDocSet. */ - private List externalDocSets = new LinkedList(); + private List<ExternalDocSet> externalDocSets = new LinkedList<ExternalDocSet>(); /** * Contains String->ExternalDocSet. */ - private Map packageNameToDocSet = new HashMap(); + private Map<String,ExternalDocSet> packageNameToDocSet = new HashMap<String, ExternalDocSet>(); /** * Cache for version string from resource /version.properties @@ -682,7 +682,7 @@ public class HtmlDoclet HtmlPage output = newHtmlPage(new File(packageDir, "package-summary" + filenameExtension), pathToRoot); - Set keywords = new LinkedHashSet(); + Set<String> keywords = new LinkedHashSet<String>(); keywords.add(packageDoc.name() + " packages"); output.beginPage(getPageTitle(packageDoc.name()), getOutputCharset(), @@ -725,10 +725,10 @@ public class HtmlDoclet } static class TreeNode - implements Comparable + implements Comparable<TreeNode> { ClassDoc classDoc; - SortedSet children = new TreeSet(); + SortedSet<TreeNode> children = new TreeSet<TreeNode>(); TreeNode(ClassDoc classDoc) { TreeNode.this.classDoc = classDoc; @@ -739,9 +739,9 @@ public class HtmlDoclet return classDoc.equals(((TreeNode)other).classDoc); } - public int compareTo(Object other) + public int compareTo(TreeNode other) { - return classDoc.compareTo(((TreeNode)other).classDoc); + return classDoc.compareTo(other.classDoc); } public int hashCode() @@ -750,9 +750,9 @@ public class HtmlDoclet } } - private TreeNode addClassTreeNode(Map treeMap, ClassDoc classDoc) + private TreeNode addClassTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc) { - TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName()); + TreeNode node = treeMap.get(classDoc.qualifiedName()); if (null == node) { node = new TreeNode(classDoc); treeMap.put(classDoc.qualifiedName(), node); @@ -766,9 +766,9 @@ public class HtmlDoclet return node; } - private TreeNode addInterfaceTreeNode(Map treeMap, ClassDoc classDoc) + private TreeNode addInterfaceTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc) { - TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName()); + TreeNode node = treeMap.get(classDoc.qualifiedName()); if (null == node) { node = new TreeNode(classDoc); treeMap.put(classDoc.qualifiedName(), node); @@ -781,7 +781,7 @@ public class HtmlDoclet } } else { - TreeNode rootNode = (TreeNode)treeMap.get("<root>"); + TreeNode rootNode = treeMap.get("<root>"); if (null == rootNode) { rootNode = new TreeNode(null); treeMap.put("<root>", rootNode); @@ -849,10 +849,9 @@ public class HtmlDoclet if (!node.children.isEmpty()) { output.beginElement("li", "class", "level"); output.beginElement("ul"); - Iterator it = node.children.iterator(); + Iterator<TreeNode> it = node.children.iterator(); while (it.hasNext()) { - TreeNode child = (TreeNode)it.next(); - printPackageTreeRec(output, child, node); + printPackageTreeRec(output, it.next(), node); } output.endElement("ul"); output.endElement("li"); @@ -861,7 +860,7 @@ public class HtmlDoclet private void printClassTree(HtmlPage output, ClassDoc[] classDocs) { - Map classTreeMap = new HashMap(); + Map<String,TreeNode> classTreeMap = new HashMap<String,TreeNode>(); for (int i=0; i<classDocs.length; ++i) { ClassDoc classDoc = classDocs[i]; @@ -870,7 +869,7 @@ public class HtmlDoclet } } - TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object"); + TreeNode root = classTreeMap.get("java.lang.Object"); if (null != root) { output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy"); output.beginDiv(CssClass.PACKAGE_TREE); @@ -881,7 +880,7 @@ public class HtmlDoclet private void printInterfaceTree(HtmlPage output, ClassDoc[] classDocs) { - Map interfaceTreeMap = new HashMap(); + Map<String,TreeNode> interfaceTreeMap = new HashMap<String,TreeNode>(); for (int i=0; i<classDocs.length; ++i) { ClassDoc classDoc = classDocs[i]; @@ -890,14 +889,14 @@ public class HtmlDoclet } } - TreeNode interfaceRoot = (TreeNode)interfaceTreeMap.get("<root>"); + TreeNode interfaceRoot = interfaceTreeMap.get("<root>"); if (null != interfaceRoot) { - Iterator it = interfaceRoot.children.iterator(); + Iterator<TreeNode> it = interfaceRoot.children.iterator(); if (it.hasNext()) { output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy"); output.beginDiv(CssClass.PACKAGE_TREE); while (it.hasNext()) { - TreeNode node = (TreeNode)it.next(); + TreeNode node = it.next(); printPackageTreeRec(output, node, null); } output.endDiv(CssClass.PACKAGE_TREE); @@ -947,10 +946,10 @@ public class HtmlDoclet output.beginDiv(CssClass.FULL_TREE_PACKAGELIST); output.div(CssClass.FULL_TREE_PACKAGELIST_HEADER, "Package Hierarchies:"); output.beginDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM); - Set allPackages = getAllPackages(); - Iterator it = allPackages.iterator(); + Set<PackageDoc> allPackages = getAllPackages(); + Iterator<PackageDoc> it = allPackages.iterator(); while (it.hasNext()) { - PackageDoc packageDoc = (PackageDoc)it.next(); + PackageDoc packageDoc = it.next(); output.beginAnchor(getPackageURL(packageDoc) + "tree" + filenameExtension); output.print(packageDoc.name()); output.endAnchor(); @@ -975,8 +974,6 @@ public class HtmlDoclet { output.beginDiv(CssClass.INDEX_ENTRY); output.beginDiv(CssClass.INDEX_ENTRY_KEY); - String anchor = null; - String description = null; if (entry instanceof PackageDoc) { output.beginAnchor(getPackageURL((PackageDoc)entry) + "package-summary" + filenameExtension); output.print(entry.name()); @@ -1105,10 +1102,10 @@ public class HtmlDoclet output.beginDiv(CssClass.PACKAGE_MENU_LIST); - Set packageDocs = getAllPackages(); - Iterator it = packageDocs.iterator(); + Set<PackageDoc> packageDocs = getAllPackages(); + Iterator<PackageDoc> it = packageDocs.iterator(); while (it.hasNext()) { - PackageDoc packageDoc = (PackageDoc)it.next(); + PackageDoc packageDoc = it.next(); output.beginSpan(CssClass.PACKAGE_MENU_ENTRY); output.beginAnchor(getPackageURL(packageDoc) + "classes" + filenameExtension, null, @@ -1153,9 +1150,9 @@ public class HtmlDoclet { if (!classDocs.isEmpty()) { output.div(CssClass.CLASS_MENU_SUBTITLE, header); - Iterator it = classDocs.iterator(); + Iterator<ClassDoc> it = classDocs.iterator(); while (it.hasNext()) { - ClassDoc classDoc = (ClassDoc)it.next(); + ClassDoc classDoc = it.next(); printClassMenuEntry(output, classDoc); } } @@ -1166,10 +1163,10 @@ public class HtmlDoclet output.beginDiv(CssClass.CLASS_MENU_LIST); if (categorized) { - Set classes = new TreeSet(); - Set interfaces = new TreeSet(); - Set exceptions = new TreeSet(); - Set errors = new TreeSet(); + Set<ClassDoc> classes = new TreeSet<ClassDoc>(); + Set<ClassDoc> interfaces = new TreeSet<ClassDoc>(); + Set<ClassDoc> exceptions = new TreeSet<ClassDoc>(); + Set<ClassDoc> errors = new TreeSet<ClassDoc>(); for (int i=0; i<classDocs.length; ++i) { ClassDoc classDoc = classDocs[i]; @@ -1253,13 +1250,13 @@ public class HtmlDoclet private void printSplitIndex() throws IOException { - Map categorizedIndex = getCategorizedIndex(); - Iterator it = categorizedIndex.keySet().iterator(); + Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex(); + Iterator<Character> it = categorizedIndex.keySet().iterator(); int n = 1; int count = categorizedIndex.size(); while (it.hasNext()) { - Character c = (Character)it.next(); - List classList = (List)categorizedIndex.get(c); + Character c = it.next(); + List<Doc> classList = categorizedIndex.get(c); printIndexPage(n++, count, c, classList); } } @@ -1270,7 +1267,7 @@ public class HtmlDoclet printIndexPage(0, 0, null, null); } - private void printIndexPage(int index, int maxIndex, Character letter, List classList) + private void printIndexPage(int index, int maxIndex, Character letter, List<Doc> classList) throws IOException { String pageName = "alphaindex"; @@ -1334,12 +1331,12 @@ public class HtmlDoclet printIndexCategory(output, letter, classList); } else { - Map categorizedIndex = getCategorizedIndex(); - Iterator categoryIt = categorizedIndex.keySet().iterator(); + Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex(); + Iterator<Character> categoryIt = categorizedIndex.keySet().iterator(); while (categoryIt.hasNext()) { - letter = (Character)categoryIt.next(); - classList = (List)categorizedIndex.get(letter); + letter = categoryIt.next(); + classList = categorizedIndex.get(letter); output.anchorName(letter.toString()); printIndexCategory(output, letter, classList); } @@ -1420,13 +1417,13 @@ public class HtmlDoclet output.div(CssClass.SERIALIZED_TITLE, "Serialized Form"); - Iterator it = getAllPackages().iterator(); + Iterator<PackageDoc> it = getAllPackages().iterator(); while (it.hasNext()) { - PackageDoc packageDoc = (PackageDoc)it.next(); + PackageDoc packageDoc = it.next(); - List serializableClasses = new LinkedList(); + List<ClassDoc> serializableClasses = new LinkedList<ClassDoc>(); ClassDoc[] classes = packageDoc.allClasses(); for (int i=0; i<classes.length; ++i) { ClassDoc classDoc = classes[i]; @@ -1438,9 +1435,9 @@ public class HtmlDoclet if (!serializableClasses.isEmpty()) { output.div(CssClass.SERIALIZED_PACKAGE_HEADER, "Package " + packageDoc.name()); - Iterator cit = serializableClasses.iterator(); + Iterator<ClassDoc> cit = serializableClasses.iterator(); while (cit.hasNext()) { - ClassDoc classDoc = (ClassDoc)cit.next(); + ClassDoc classDoc = cit.next(); output.anchorName(classDoc.qualifiedTypeName()); @@ -1500,13 +1497,13 @@ public class HtmlDoclet output.div(CssClass.DEPRECATION_TITLE, "Deprecated API"); - List deprecatedInterfaces = new LinkedList(); - List deprecatedExceptions = new LinkedList(); - List deprecatedErrors = new LinkedList(); - List deprecatedClasses = new LinkedList(); - List deprecatedFields = new LinkedList(); - List deprecatedMethods = new LinkedList(); - List deprecatedConstructors = new LinkedList(); + List<ClassDoc> deprecatedInterfaces = new LinkedList<ClassDoc>(); + List<ClassDoc> deprecatedExceptions = new LinkedList<ClassDoc>(); + List<ClassDoc> deprecatedErrors = new LinkedList<ClassDoc>(); + List<ClassDoc> deprecatedClasses = new LinkedList<ClassDoc>(); + List<FieldDoc> deprecatedFields = new LinkedList<FieldDoc>(); + List<MethodDoc> deprecatedMethods = new LinkedList<MethodDoc>(); + List<ConstructorDoc> deprecatedConstructors = new LinkedList<ConstructorDoc>(); ClassDoc[] classDocs = getRootDoc().classes(); for (int i=0; i<classDocs.length; ++i) { @@ -2870,7 +2867,7 @@ public class HtmlDoclet PackageDoc packageDoc = classDoc.containingPackage(); ExternalDocSet externalDocSet = null; if (classDoc.containingPackage().name().length() > 0) { - externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name()); + externalDocSet = packageNameToDocSet.get(packageDoc.name()); } StringBuffer result = new StringBuffer(); result.append(getClassDocURL(output, classDoc)); @@ -2900,14 +2897,13 @@ public class HtmlDoclet String url = null; if (null != asClassDoc && asClassDoc.isIncluded()) { url = getClassDocURL(output, asClassDoc); - } + } else if (!type.isPrimitive()) { if (type.qualifiedTypeName().length() > type.typeName().length()) { String packageName = type.qualifiedTypeName(); packageName = packageName.substring(0, packageName.length() - type.typeName().length() - 1); - ExternalDocSet externalDocSet - = (ExternalDocSet)packageNameToDocSet.get(packageName); + ExternalDocSet externalDocSet = packageNameToDocSet.get(packageName); if (null != externalDocSet) { url = externalDocSet.getClassDocURL(packageName, type.typeName()); } @@ -2950,7 +2946,7 @@ public class HtmlDoclet private String getPackageURL(PackageDoc packageDoc) { if (packageDoc.name().length() > 0) { - ExternalDocSet externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name()); + ExternalDocSet externalDocSet = packageNameToDocSet.get(packageDoc.name()); String url; if (null != externalDocSet) { url = externalDocSet.getPackageDocURL(packageDoc.name()); @@ -2974,7 +2970,7 @@ public class HtmlDoclet { ExternalDocSet externalDocSet = null; if (classDoc.containingPackage().name().length() > 0) { - externalDocSet = (ExternalDocSet)packageNameToDocSet.get(classDoc.containingPackage().name()); + externalDocSet = packageNameToDocSet.get(classDoc.containingPackage().name()); } if (null != externalDocSet) { return externalDocSet.getClassDocURL(classDoc.containingPackage().name(), diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java index b38c2b08379..b0e2127c89a 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.ClassDocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -103,9 +103,9 @@ public class ClassDocImpl return filter ? filteredFields : unfilteredFields; } - private static Set primitiveNames; + private static Set<String> primitiveNames; static { - primitiveNames = new HashSet(); + primitiveNames = new HashSet<String>(); primitiveNames.add("int"); primitiveNames.add("long"); primitiveNames.add("char"); @@ -116,11 +116,11 @@ public class ClassDocImpl primitiveNames.add("boolean"); } - private Map findClassCache = new HashMap(); + private Map<String,ClassDoc> findClassCache = new HashMap<String,ClassDoc>(); public ClassDoc findClass(String className, String dimension) { - ClassDoc cached = (ClassDoc)findClassCache.get(className + dimension); + ClassDoc cached = findClassCache.get(className + dimension); if (null != cached) { return cached; } @@ -324,7 +324,7 @@ public class ClassDocImpl ClassDoc[] importedClasses, PackageDoc[] importedPackages, char[] source, int startIndex, int endIndex, - List importStatementList) throws ParseException, IOException { + List<String> importStatementList) throws ParseException, IOException { String superclassName = "java.lang.Object"; @@ -334,7 +334,7 @@ public class ClassDocImpl importedPackages, null); rc.setImportStatementList(importStatementList); - List implementedInterfaces = new ArrayList(); + List<String> implementedInterfaces = new ArrayList<String>(); String word=""; int item=0; @@ -511,7 +511,7 @@ public class ClassDocImpl ClassDoc[] interfaces=new ClassDoc[implementedInterfaces.size()]; for (int i=0; i<interfaces.length; ++i) { - interfaces[i]=new ClassDocProxy((String)implementedInterfaces.get(i), rc); + interfaces[i]=new ClassDocProxy(implementedInterfaces.get(i), rc); } rc.setInterfaces(interfaces); @@ -643,10 +643,10 @@ public class ClassDocImpl } } - List isSerMethodList=new ArrayList(); + List<MethodDoc> isSerMethodList = new ArrayList<MethodDoc>(); if (null != maybeSerMethodList) { - for (Iterator it=maybeSerMethodList.iterator(); it.hasNext(); ) { + for (Iterator<MethodDoc> it = maybeSerMethodList.iterator(); it.hasNext(); ) { MethodDocImpl method=(MethodDocImpl)it.next(); method.resolve(); @@ -664,7 +664,7 @@ public class ClassDocImpl isSerMethodList.add(method); } } - this.serializationMethods=(MethodDoc[])isSerMethodList.toArray(new MethodDoc[0]); + this.serializationMethods = isSerMethodList.toArray(new MethodDoc[isSerMethodList.size()]); maybeSerMethodList=null; } } @@ -795,10 +795,10 @@ public class ClassDocImpl this.importedClasses=importedClasses; } - private static Map typeMap = new HashMap(); + private static Map<String,Type> typeMap = new HashMap<String,Type>(); Type typeForString(String typeName) throws ParseException { - String orgTypename=typeName; + //String orgTypename=typeName; int ndx=typeName.indexOf('['); String dim=""; if (ndx>=0) { @@ -815,7 +815,7 @@ public class ClassDocImpl return classDoc; } - Type type = (Type)typeMap.get(typeName+dim); + Type type = typeMap.get(typeName+dim); if (null!=type) { try { if (type.dimension().equals(dim)) { @@ -995,9 +995,9 @@ public class ClassDocImpl return (o!=null) && (o instanceof ClassDoc) && ((ClassDoc)o).qualifiedName().equals(qualifiedName()); } - private List maybeSerMethodList; + private List<MethodDoc> maybeSerMethodList; - void setMaybeSerMethodList(List maybeSerMethodList) { + void setMaybeSerMethodList(List<MethodDoc> maybeSerMethodList) { this.maybeSerMethodList=maybeSerMethodList; } @@ -1061,7 +1061,7 @@ public class ClassDocImpl private Object findFieldValue(String identifier, ClassDoc classDoc, String fieldName, - Set visitedFields) + Set<FieldDoc> visitedFields) throws UnknownIdentifierException, IllegalExpressionException { while (classDoc != null) { @@ -1097,7 +1097,7 @@ public class ClassDocImpl throw new UnknownIdentifierException(identifier); } - public Object getValue(String identifier, Set visitedFields) + public Object getValue(String identifier, Set<FieldDoc> visitedFields) throws UnknownIdentifierException, IllegalExpressionException { int ndx = identifier.lastIndexOf('.'); @@ -1124,13 +1124,13 @@ public class ClassDocImpl } // Compares this Object with the specified Object for order. - public int compareTo(java.lang.Object o) { + public int compareTo(Doc d) { int rc; - if (o instanceof ClassDocImpl) { + if (d instanceof ClassDocImpl) { ClassDocImpl c1 = this; - ClassDocImpl c2 = (ClassDocImpl)o; + ClassDocImpl c2 = (ClassDocImpl)d; if (null != c1.containingClass() && null == c2.containingClass()) { rc = c1.containingClass().compareTo(c2); @@ -1153,10 +1153,10 @@ public class ClassDocImpl } } - rc = super.compareTo(o); + rc = super.compareTo(d); if (0 == rc) { return Main.getInstance().getCollator().compare(containingPackage().name(), - ((ClassDocImpl)o).containingPackage().name()); + c2.containingPackage().name()); } else { return rc; @@ -1167,11 +1167,11 @@ public class ClassDocImpl } } - private List importStatementList; + private List<String> importStatementList; - public void setImportStatementList(List importStatementList) + public void setImportStatementList(List<String> importStatementList) { - this.importStatementList = new LinkedList(); + this.importStatementList = new LinkedList<String>(); this.importStatementList.addAll(importStatementList); } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java index 253cf5ec415..aa06addf7fa 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.ClassDocProxy - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -155,13 +155,8 @@ public class ClassDocProxy implements ClassDoc, WritableType { } // Compares this Object with the specified Object for order. - public int compareTo(java.lang.Object o) { - if (o instanceof Doc) { - return Main.getInstance().getCollator().compare(name(), ((Doc)o).name()); - } - else { - return 0; - } + public int compareTo(Doc d) { + return Main.getInstance().getCollator().compare(name(), d.name()); } public TypeVariable[] typeParameters() { return new TypeVariable[0]; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java index 9a81cb793f0..9b911d31003 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.ClassDocReflectedImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,7 +37,17 @@ package gnu.classpath.tools.gjdoc; -import com.sun.javadoc.*; +import com.sun.javadoc.Doc; +import com.sun.javadoc.ClassDoc; +import com.sun.javadoc.ConstructorDoc; +import com.sun.javadoc.FieldDoc; +import com.sun.javadoc.MethodDoc; +import com.sun.javadoc.PackageDoc; +import com.sun.javadoc.SeeTag; +import com.sun.javadoc.SourcePosition; +import com.sun.javadoc.Tag; +import com.sun.javadoc.TypeVariable; + import java.util.Map; import java.util.HashMap; @@ -104,7 +114,7 @@ public class ClassDocReflectedImpl public boolean definesSerializableFields() { return false; } public FieldDoc[] fields() { return new FieldDoc[0]; } public FieldDoc[] fields(boolean filtered) { return new FieldDoc[0]; } - public ClassDoc findClass(java.lang.String className) { return null; } + public ClassDoc findClass(String className) { return null; } public ClassDoc[] importedClasses() { return new ClassDoc[0]; } public PackageDoc[] importedPackages() { return new PackageDoc[0]; } public ClassDoc[] innerClasses() { return new ClassDoc[0]; } @@ -195,13 +205,8 @@ public class ClassDocReflectedImpl public String toString() { return "ClassDocReflectedImpl{"+qualifiedName()+"}"; } - public int compareTo(java.lang.Object o) { - if (o instanceof Doc) { - return Main.getInstance().getCollator().compare(name(), ((Doc)o).name()); - } - else { - return 0; - } + public int compareTo(Doc d) { + return Main.getInstance().getCollator().compare(name(), d.name()); } public String dimension() { return dimension; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java index ecd8100402c..dfa1a7a3c61 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.DocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,8 +71,8 @@ public abstract class DocImpl implements Doc, TagContainer { } // Compares this Object with the specified Object for order. - public int compareTo(java.lang.Object o) { - return Main.getInstance().getCollator().compare(name(), ((Doc)o).name()); + public int compareTo(Doc d) { + return Main.getInstance().getCollator().compare(name(), d.name()); } // Return the first sentence of the comment as tags. diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java index d5b1b1eb018..8f2a49c99c5 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.ExecutableMemberDocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -402,14 +402,14 @@ public class ExecutableMemberDocImpl extends MemberDocImpl implements Executable } - public int compareTo(Object other) { + public int compareTo(Doc d) { int rc; - if (other instanceof MemberDocImpl) { - MemberDocImpl otherMember = (MemberDocImpl)other; + if (d instanceof MemberDocImpl) { + MemberDocImpl otherMember = (MemberDocImpl)d; rc = name().compareTo(otherMember.name()); if (0 == rc) { - if (other instanceof ExecutableMemberDocImpl) { - rc = signature().compareTo(((ExecutableMemberDocImpl)other).signature()); + if (d instanceof ExecutableMemberDocImpl) { + rc = signature().compareTo(((ExecutableMemberDocImpl)d).signature()); if (0 == rc) { return containingClass().compareTo(otherMember.containingClass()); } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java index f99024daa70..4fa8e5d6bf1 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.FieldDocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -95,11 +95,11 @@ public class FieldDocImpl } } - public static Collection createFromSource(ClassDoc containingClass, - PackageDoc containingPackage, - char[] source, int startIndex, int endIndex) { + public static Collection<FieldDoc> createFromSource(ClassDoc containingClass, + PackageDoc containingPackage, + char[] source, int startIndex, int endIndex) { - List rcList=new ArrayList(); + List<FieldDoc> rcList=new ArrayList<FieldDoc>(); FieldDocImpl fd=new FieldDocImpl(containingClass, containingPackage, @@ -120,7 +120,6 @@ public class FieldDocImpl final int STATE_COMMENT = 7; final int STATE_LINECOMMENT = 8; - int lastFieldDefStart = ndx; int state = STATE_FIELDNAME; int prevState = state; @@ -298,7 +297,7 @@ public class FieldDocImpl return constantValue(new HashSet()); } - public Object constantValue(Set visitedFields) { + public Object constantValue(Set<FieldDoc> visitedFields) { if (!isStatic() || !isFinal() || (!type().isPrimitive() && !"java.lang.String".equals(type().qualifiedTypeName())) diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java index ce9e96d820b..f2315a920aa 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.Main - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -142,11 +142,6 @@ public final class Main private String option_doclet = "gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet"; /** - * Option "-overview": path to the special overview file. - */ - private String option_overview; - - /** * Option "-coverage": which members to include in generated documentation. */ private int option_coverage = COVERAGE_PROTECTED; @@ -162,30 +157,10 @@ public final class Main private String option_docletpath; /** - * Option "-classpath": path to additional classes. - */ - private String option_classpath; - - /** * Option "-sourcepath": path to the Java source files to be documented. * FIXME: this should be a list of paths */ - private List option_sourcepath = new ArrayList(); - - /** - * Option "-extdirs": path to Java extension files. - */ - private String option_extdirs; - - /** - * Option "-verbose": Be verbose when generating documentation. - */ - private boolean option_verbose; - - /** - * Option "-nowarn": Do not print warnings. - */ - private boolean option_nowarn; + private List<File> option_sourcepath = new ArrayList<File>(); /** * Option "-locale:" Specify the locale charset of Java source files. @@ -198,11 +173,6 @@ public final class Main private String option_encoding; /** - * Option "-J": Specify flags to be passed to Java runtime. - */ - private List option_java_flags = new LinkedList(); //ArrayList(); - - /** * Option "-source:" should be 1.4 to handle assertions, 1.1 is no * longer supported. */ @@ -212,12 +182,12 @@ public final class Main * Option "-subpackages": list of subpackages to be recursively * added. */ - private List option_subpackages = new ArrayList(); + private List<String> option_subpackages = new ArrayList<String>(); /** * Option "-exclude": list of subpackages to exclude. */ - private List option_exclude = new ArrayList(); + private List<String> option_exclude = new ArrayList<String>(); /** * Option "-breakiterator" - whether to use BreakIterator for @@ -263,7 +233,7 @@ public final class Main * * @param allOptions List of all command line tokens */ - private boolean startDoclet(List allOptions) + private boolean startDoclet(List<String> allOptions) { try @@ -273,7 +243,7 @@ public final class Main Debug.log(1, "loading doclet class..."); - Class docletClass; + Class<?> docletClass; if (null != option_docletpath) { try { @@ -341,14 +311,14 @@ public final class Main //--- Feed the custom command line tokens to the Doclet // stores all recognized options - List options = new LinkedList(); + List<String[]> options = new LinkedList<String[]>(); // stores packages and classes defined on the command line - List packageAndClasses = new LinkedList(); + List<String> packageAndClasses = new LinkedList<String>(); - for (Iterator it = allOptions.iterator(); it.hasNext();) + for (Iterator<String> it = allOptions.iterator(); it.hasNext();) { - String option = (String) it.next(); + String option = it.next(); Debug.log(9, "parsing option '" + option + "'"); @@ -448,13 +418,13 @@ public final class Main // check that it exists and find out whether it is a class // or a package - for (Iterator it = option_subpackages.iterator(); it.hasNext();) + for (Iterator<String> it = option_subpackages.iterator(); it.hasNext();) { - String subpackage = (String) it.next(); - Set foundPackages = new LinkedHashSet(); + String subpackage = it.next(); + Set<String> foundPackages = new LinkedHashSet<String>(); - for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) { - File sourceDir = (File)pit.next(); + for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) { + File sourceDir = pit.next(); File packageDir = new File(sourceDir, subpackage.replace('.', File.separatorChar)); findPackages(subpackage, packageDir, foundPackages); } @@ -463,14 +433,14 @@ public final class Main } if (option_all) { - Set foundPackages = new LinkedHashSet(); - for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) { - File sourceDir = (File)pit.next(); + Set<String> foundPackages = new LinkedHashSet<String>(); + for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) { + File sourceDir = pit.next(); findPackages("", sourceDir, foundPackages); } addFoundPackages(null, foundPackages); - for (Iterator packageIt = foundPackages.iterator(); packageIt.hasNext(); ) { - String packageName = (String)packageIt.next(); + for (Iterator<String> packageIt = foundPackages.iterator(); packageIt.hasNext(); ) { + String packageName = packageIt.next(); if (null == packageName) { packageName = ""; } @@ -478,16 +448,16 @@ public final class Main } } - for (Iterator it = packageAndClasses.iterator(); it.hasNext();) + for (Iterator<String> it = packageAndClasses.iterator(); it.hasNext();) { - String classOrPackage = (String) it.next(); + String classOrPackage = it.next(); boolean foundSourceFile = false; if (classOrPackage.endsWith(".java")) { - for (Iterator pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) { - File sourceDir = (File)pit.next(); + for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) { + File sourceDir = pit.next(); File sourceFile = new File(sourceDir, classOrPackage); if (sourceFile.exists() && !sourceFile.isDirectory()) { rootDoc.addSpecifiedSourceFile(sourceFile); @@ -525,8 +495,8 @@ public final class Main //--- Create one file object each for a possible package directory // and a possible class file, and find out if they exist. - List packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath); - List sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java"); + List<File> packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath); + List<File> sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java"); boolean packageDirExists = !packageDirs.isEmpty(); boolean sourceFileExists = !sourceFiles.isEmpty(); @@ -554,10 +524,10 @@ public final class Main else if (packageDirExists) { - Iterator packageDirIt = packageDirs.iterator(); + Iterator<File> packageDirIt = packageDirs.iterator(); boolean packageDirFound = false; while (packageDirIt.hasNext()) { - File packageDir = (File)packageDirIt.next(); + File packageDir = packageDirIt.next(); if (packageDir.isDirectory()) { rootDoc.addSpecifiedPackageName(classOrPackage); packageDirFound = true; @@ -671,19 +641,19 @@ public final class Main } } - private void addFoundPackages(String subpackage, Set foundPackages) + private void addFoundPackages(String subpackage, Set<String> foundPackages) { if (foundPackages.isEmpty()) { reporter.printWarning("No classes found under subpackage " + subpackage); } else { boolean onePackageAdded = false; - for (Iterator rit = foundPackages.iterator(); rit.hasNext();) { - String foundPackage = (String)rit.next(); + for (Iterator<String> rit = foundPackages.iterator(); rit.hasNext();) { + String foundPackage = rit.next(); boolean excludeThisPackage = false; - for (Iterator eit = option_exclude.iterator(); eit.hasNext();) { - String excludePackage = (String)eit.next(); + for (Iterator<String> eit = option_exclude.iterator(); eit.hasNext();) { + String excludePackage = eit.next(); if (foundPackage.equals(excludePackage) || foundPackage.startsWith(excludePackage + ":")) { excludeThisPackage = true; @@ -817,7 +787,7 @@ public final class Main */ private void findPackages(String subpackage, File packageDir, - Set result) + Set<String> result) { File[] files = packageDir.listFiles(); if (null != files) { @@ -1026,7 +996,7 @@ public final class Main //--- Collect unparsed arguments in array and resolve references // to external argument files. - List arguments = new ArrayList(args.length); + List<String> arguments = new ArrayList<String>(args.length); for (int i = 0; i < args.length; ++i) { @@ -1062,7 +1032,7 @@ public final class Main // Contains objects of type String[], where each entry // specifies an option along with its aguments. - List options = new LinkedList(); + List<String[]> options = new LinkedList<String[]>(); //--- This will hold all command line tokens not recognized // to be part of a standard option. @@ -1070,17 +1040,17 @@ public final class Main // Contains objects of type String, where each entry is // one unrecognized token. - List customOptions = new LinkedList(); + List<String> customOptions = new LinkedList<String>(); rootDoc = new RootDocImpl(); reporter = rootDoc.getReporter(); //--- Iterate over all options given on the command line - for (Iterator it = arguments.iterator(); it.hasNext();) + for (Iterator<String> it = arguments.iterator(); it.hasNext();) { - String arg = (String) it.next(); + String arg = it.next(); //--- Check if gjdoc recognizes this option as a standard option // and remember the options' argument count @@ -1129,8 +1099,7 @@ public final class Main //--- Create an array of String arrays from the dynamic array built above - String[][] optionArr = (String[][]) options.toArray(new String[options - .size()][0]); + String[][] optionArr = options.toArray(new String[options.size()][0]); //--- Validate all options and issue warnings/errors @@ -1181,6 +1150,7 @@ public final class Main return reporter.getErrorCount(); } + /* private void addJavaLangClasses() throws IOException { @@ -1201,6 +1171,7 @@ public final class Main } } } + */ /** * Helper class for parsing command line arguments. An instance of this class @@ -1241,7 +1212,7 @@ public final class Main * Initialized only once by method initOptions(). FIXME: Rename to * 'optionProcessors'. */ - private static Map options = null; + private static Map<String,OptionProcessor> options = null; /** * Initialize all OptionProcessor objects needed to scan/parse command line @@ -1251,7 +1222,7 @@ public final class Main private void initOptions() { - options = new HashMap(); + options = new HashMap<String,OptionProcessor>(); //--- Put one OptionProcessor object into the map // for each option recognized. @@ -1261,7 +1232,7 @@ public final class Main void process(String[] args) { - option_overview = args[0]; + System.err.println("WARNING: Unsupported option -overview ignored"); } }); options.put("-public", new OptionProcessor(1) @@ -1328,7 +1299,7 @@ public final class Main void process(String[] args) { - option_nowarn = true; + System.err.println("WARNING: Unsupported option -nowarn ignored"); } }); options.put("-source", new OptionProcessor(2) @@ -1412,7 +1383,6 @@ public final class Main void process(String[] args) { - option_verbose = true; System.err.println("WARNING: Unsupported option -verbose ignored"); } }); diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java index acc8128630c..87ed585fe01 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.MemberDocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -170,15 +170,15 @@ public abstract class MemberDocImpl extends ProgramElementDocImpl implements Mem return Main.getInstance().includeAccessLevel(accessLevel); } - public int compareTo(Object o) { - if (o instanceof MemberDocImpl) { - int rc=name().compareTo(((MemberDocImpl)o).name()); + public int compareTo(Doc d) { + if (d instanceof MemberDocImpl) { + int rc=name().compareTo(((MemberDocImpl)d).name()); if (rc==0) - rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)o).containingClass().qualifiedName()); + rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)d).containingClass().qualifiedName()); return rc; } else { - return super.compareTo(o); + return super.compareTo(d); } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java index 84960bcf349..770a6275655 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.PackageDocImpl - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,11 +46,11 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc { private String packageName; private File packageDirectory; - private Set allClassesSet = new TreeSet(); - private List ordinaryClassesList = new ArrayList(); - private List exceptionsList = new ArrayList(); - private List interfacesList = new ArrayList(); - private List errorsList = new ArrayList(); + private Set<ClassDoc> allClassesSet = new TreeSet<ClassDoc>(); + private List<ClassDoc> ordinaryClassesList = new ArrayList<ClassDoc>(); + private List<ClassDoc> exceptionsList = new ArrayList<ClassDoc>(); + private List<ClassDoc> interfacesList = new ArrayList<ClassDoc>(); + private List<ClassDoc> errorsList = new ArrayList<ClassDoc>(); private ClassDoc[] allClasses; private ClassDoc[] ordinaryClasses; @@ -70,8 +70,8 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc { } public void resolve() { - for (Iterator it=allClassesSet.iterator(); it.hasNext(); ) { - ClassDocImpl classDoc=(ClassDocImpl)it.next(); + for (Iterator<ClassDoc> it = allClassesSet.iterator(); it.hasNext(); ) { + ClassDocImpl classDoc = (ClassDocImpl) it.next(); try { classDoc.resolve(); } catch (ParseException e) { @@ -153,9 +153,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc { return this.errors; } - private ClassDoc[] toClassDocArray(Collection classDocList) + private ClassDoc[] toClassDocArray(Collection<ClassDoc> classDocList) { - ClassDoc[] result = (ClassDoc[])classDocList.toArray(new ClassDoc[classDocList.size()]); + ClassDoc[] result = classDocList.toArray(new ClassDoc[classDocList.size()]); Arrays.sort(result); return result; } @@ -193,9 +193,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc { return packageName; } - public int compareTo(Object o) { - if (o!=null && o instanceof PackageDocImpl) - return name().compareTo(((PackageDocImpl)o).name()); + public int compareTo(Doc d) { + if (d !=null && d instanceof PackageDocImpl) + return name().compareTo(((PackageDocImpl)d).name()); else return 0; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java index d355b5384cc..af6b6b432a2 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.Parser - Copyright (C) 2001, 2005, 2008 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2008, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,21 +37,38 @@ package gnu.classpath.tools.gjdoc; -import java.io.*; +import com.sun.javadoc.ClassDoc; +import com.sun.javadoc.ConstructorDoc; +import com.sun.javadoc.FieldDoc; +import com.sun.javadoc.MethodDoc; +import com.sun.javadoc.PackageDoc; + +import gnu.classpath.tools.IOToolkit; +import gnu.classpath.tools.NotifyingInputStreamReader; +import gnu.classpath.tools.MalformedInputListener; +import gnu.classpath.tools.MalformedInputEvent; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.IOException; +import java.io.Reader; + import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CoderResult; import java.nio.charset.CodingErrorAction; -import java.util.*; -import com.sun.javadoc.*; - -import gnu.classpath.tools.IOToolkit; -import gnu.classpath.tools.NotifyingInputStreamReader; -import gnu.classpath.tools.MalformedInputListener; -import gnu.classpath.tools.MalformedInputEvent; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.Stack; class IgnoredFileParseException extends ParseException { @@ -356,11 +373,11 @@ import gnu.classpath.tools.MalformedInputEvent; if (endIndex-startIndex<=1) return endIndex; //assert (parser.ctx!=null); - Collection fields=FieldDocImpl.createFromSource(parser.ctx.classDoc, - parser.ctx.classDoc.containingPackage(), - source, startIndex, endIndex); + Collection<FieldDoc> fields = FieldDocImpl.createFromSource(parser.ctx.classDoc, + parser.ctx.classDoc.containingPackage(), + source, startIndex, endIndex); - for (Iterator it=fields.iterator(); it.hasNext(); ) { + for (Iterator<FieldDoc> it=fields.iterator(); it.hasNext(); ) { FieldDocImpl field=(FieldDocImpl)it.next(); boolean fieldHasSerialTag=!field.isTransient() && !field.isStatic(); //field.hasSerialTag(); if ((field.isIncluded() || fieldHasSerialTag) && parser.getAddComments()) { @@ -408,27 +425,26 @@ import gnu.classpath.tools.MalformedInputEvent; parser.setLastComment(null); if (execDoc.isMethod()) { - parser.ctx.methodList.add(execDoc); - if (execDoc.isIncluded()) { - parser.ctx.filteredMethodList.add(execDoc); + MethodDoc methDoc = (MethodDoc) execDoc; + parser.ctx.methodList.add(methDoc); + if (methDoc.isIncluded()) { + parser.ctx.filteredMethodList.add(methDoc); } - } - else { - parser.ctx.constructorList.add(execDoc); - if (execDoc.isIncluded()) { - parser.ctx.filteredConstructorList.add(execDoc); - } - } - - if (execDoc.isMethod() - && (execDoc.name().equals("readObject") - || execDoc.name().equals("writeObject") - || execDoc.name().equals("readExternal") - || execDoc.name().equals("writeExternal") - || execDoc.name().equals("readResolve"))) { + if (methDoc.name().equals("readObject") + || methDoc.name().equals("writeObject") + || methDoc.name().equals("readExternal") + || methDoc.name().equals("writeExternal") + || methDoc.name().equals("readResolve")) { // FIXME: add readExternal here? - parser.ctx.maybeSerMethodList.add(execDoc); + parser.ctx.maybeSerMethodList.add(methDoc); + } + } else { + ConstructorDoc constDoc = (ConstructorDoc) execDoc; + parser.ctx.constructorList.add(constDoc); + if (constDoc.isIncluded()) { + parser.ctx.filteredConstructorList.add(constDoc); + } } return endIndex; @@ -764,7 +780,7 @@ public class Parser { return processedFiles.size(); } - static Set processedFiles = new HashSet(); + static Set<File> processedFiles = new HashSet<File>(); ClassDocImpl processSourceFile(File file, boolean addComments, String encoding, String expectedPackageName) @@ -803,8 +819,8 @@ public class Parser { try { parse(source, 0, sourceLevelComponents); - ClassDoc[] importedClasses=(ClassDoc[])importedClassesList.toArray(new ClassDoc[0]); - PackageDoc[] importedPackages=(PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]); + ClassDoc[] importedClasses = importedClassesList.toArray(new ClassDoc[importedClassesList.size()]); + PackageDoc[] importedPackages = importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]); if (Main.DESCEND_IMPORTED) { for (int i=0; i<importedClasses.length; ++i) { @@ -909,7 +925,7 @@ public class Parser { ClassDocImpl classDoc = ClassDocImpl.createInstance((ctx!=null)?(ctx.classDoc):null, currentPackage, null, - (PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]), + importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]), source, startIndex, endIndex, importedStatementList); @@ -921,11 +937,11 @@ public class Parser { } if (importedClassesList.isEmpty()) { - for (Iterator it=importedStringList.iterator(); it.hasNext(); ) { - importedClassesList.add(new ClassDocProxy((String)it.next(), classDoc)); + for (Iterator<String> it=importedStringList.iterator(); it.hasNext(); ) { + importedClassesList.add(new ClassDocProxy(it.next(), classDoc)); } } - classDoc.setImportedClasses((ClassDoc[])importedClassesList.toArray(new ClassDoc[0])); + classDoc.setImportedClasses(importedClassesList.toArray(new ClassDoc[importedClassesList.size()])); currentPackage.addClass(classDoc); @@ -945,26 +961,24 @@ public class Parser { //Debug.log(9,"ctx="+ctx); } - private Doc[] toArray(List list, Doc[] template) + private <T> T[] toArray(List<T> list, T[] template) { - Doc[] result = (Doc[])list.toArray(template); - return result; + return list.toArray(template); } void classClosed() throws ParseException, IOException { - ctx.classDoc.setFields((FieldDoc[])toArray(ctx.fieldList, - new FieldDoc[0])); - ctx.classDoc.setFilteredFields((FieldDoc[])toArray(ctx.filteredFieldList, - new FieldDoc[0])); - ctx.classDoc.setSerializableFields((FieldDoc[])toArray(ctx.sfieldList, new FieldDoc[0])); - ctx.classDoc.setMethods((MethodDoc[])toArray(ctx.methodList, new MethodDoc[0])); - ctx.classDoc.setFilteredMethods((MethodDoc[])toArray(ctx.filteredMethodList, new MethodDoc[0])); + ctx.classDoc.setFields(toArray(ctx.fieldList,new FieldDoc[ctx.fieldList.size()])); + ctx.classDoc.setFilteredFields(toArray(ctx.filteredFieldList,new FieldDoc[ctx.filteredFieldList.size()])); + ctx.classDoc.setSerializableFields(toArray(ctx.sfieldList, new FieldDoc[ctx.sfieldList.size()])); + ctx.classDoc.setMethods(toArray(ctx.methodList, new MethodDoc[ctx.methodList.size()])); + ctx.classDoc.setFilteredMethods(toArray(ctx.filteredMethodList, new MethodDoc[ctx.filteredMethodList.size()])); ctx.classDoc.setMaybeSerMethodList(ctx.maybeSerMethodList); - ctx.classDoc.setConstructors((ConstructorDoc[])toArray(ctx.constructorList, new ConstructorDoc[0])); - ctx.classDoc.setFilteredConstructors((ConstructorDoc[])toArray(ctx.filteredConstructorList, new ConstructorDoc[0])); - - ctx.classDoc.setInnerClasses((ClassDocImpl[])toArray(ctx.innerClassesList, new ClassDocImpl[0])); - ctx.classDoc.setFilteredInnerClasses((ClassDocImpl[])toArray(ctx.filteredInnerClassesList, new ClassDocImpl[0])); + ctx.classDoc.setConstructors(toArray(ctx.constructorList, new ConstructorDoc[ctx.constructorList.size()])); + ctx.classDoc.setFilteredConstructors(toArray(ctx.filteredConstructorList, + new ConstructorDoc[ctx.filteredConstructorList.size()])); + ctx.classDoc.setInnerClasses(toArray(ctx.innerClassesList, new ClassDocImpl[ctx.innerClassesList.size()])); + ctx.classDoc.setFilteredInnerClasses(toArray(ctx.filteredInnerClassesList, + new ClassDocImpl[ctx.filteredInnerClassesList.size()])); ctx.classDoc.setBoilerplateComment(boilerplateComment); Main.getRootDoc().addClassDoc(ctx.classDoc); @@ -993,16 +1007,16 @@ public class Parser { class Context { Context(ClassDocImpl classDoc) { this.classDoc=classDoc; } ClassDocImpl classDoc = null; - List fieldList = new LinkedList(); - List filteredFieldList = new LinkedList(); - List sfieldList = new LinkedList(); - List methodList = new LinkedList(); - List filteredMethodList = new LinkedList(); - List maybeSerMethodList = new LinkedList(); - List constructorList = new LinkedList(); - List filteredConstructorList = new LinkedList(); - List innerClassesList = new LinkedList(); - List filteredInnerClassesList = new LinkedList(); + List<FieldDoc> fieldList = new LinkedList<FieldDoc>(); + List<FieldDoc> filteredFieldList = new LinkedList<FieldDoc>(); + List<FieldDoc> sfieldList = new LinkedList<FieldDoc>(); + List<MethodDoc> methodList = new LinkedList<MethodDoc>(); + List<MethodDoc> filteredMethodList = new LinkedList<MethodDoc>(); + List<MethodDoc> maybeSerMethodList = new LinkedList<MethodDoc>(); + List<ConstructorDoc> constructorList = new LinkedList<ConstructorDoc>(); + List<ConstructorDoc> filteredConstructorList = new LinkedList<ConstructorDoc>(); + List<ClassDocImpl> innerClassesList = new LinkedList<ClassDocImpl>(); + List<ClassDocImpl> filteredInnerClassesList = new LinkedList<ClassDocImpl>(); } File currentFile = null; @@ -1016,10 +1030,10 @@ public class Parser { List allClassesList = new LinkedList(); List interfacesList = new LinkedList(); - List importedClassesList = new LinkedList(); - List importedStringList = new LinkedList(); - List importedPackagesList = new LinkedList(); - List importedStatementList = new LinkedList(); + List<ClassDoc> importedClassesList = new LinkedList<ClassDoc>(); + List<String> importedStringList = new LinkedList<String>(); + List<PackageDoc> importedPackagesList = new LinkedList<PackageDoc>(); + List<String> importedStatementList = new LinkedList<String>(); List referencedClassesList = new LinkedList(); diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java index 09d1be73b9e..dd76ffada96 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.RootDocImpl - Copyright (C) 2001, 2007 Free Software Foundation, Inc. + Copyright (C) 2001, 2007, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -409,11 +409,11 @@ public class RootDocImpl } } - List findSourceFiles(String relPath) { + List<File> findSourceFiles(String relPath) { - List result = new LinkedList(); - for (Iterator it = sourcePath.iterator(); it.hasNext(); ) { - File path = (File)it.next(); + List<File> result = new LinkedList<File>(); + for (Iterator<File> it = sourcePath.iterator(); it.hasNext(); ) { + File path = it.next(); File file = new File(path, relPath); if (file.exists()) { result.add(file); diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java index d12da3519b1..efa88603c66 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.expr.Evaluator - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.classpath.tools.gjdoc.expr; +import com.sun.javadoc.FieldDoc; + import java.io.StringReader; import java.math.BigInteger; import antlr.RecognitionException; @@ -68,7 +70,7 @@ public class Evaluator * array access) or references unknown static fields. */ public static Object evaluate(String expression, - Set visitedFields, + Set<FieldDoc> visitedFields, EvaluatorEnvironment environment) throws IllegalExpressionException { diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java index cf4df8938b4..cdb1f90488d 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.expr.EvaluatorEnvironment - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,10 +37,12 @@ exception statement from your version. */ package gnu.classpath.tools.gjdoc.expr; +import com.sun.javadoc.FieldDoc; + import java.util.Set; public interface EvaluatorEnvironment { - public Object getValue(String identifier, Set visitedFields) + public Object getValue(String identifier, Set<FieldDoc> visitedFields) throws IllegalExpressionException, UnknownIdentifierException; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java index 92382c41a70..4e0ef0ea4d9 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java +++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java @@ -1,5 +1,5 @@ /* gnu.classpath.tools.gjdoc.expr.Type - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,9 +51,9 @@ class Type public static final Type STRING = new Type(String.class); public static final Type NULL = new Type(null); - private Class clazz; + private Class<?> clazz; - private Type(Class clazz) + private Type(Class<?> clazz) { this.clazz = clazz; } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java index 9ac103c75a1..790407bae18 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java @@ -1,5 +1,5 @@ /* ClassRmicCompiler.java -- - Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005 + Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -76,26 +76,23 @@ public class ClassRmicCompiler { private String[] args; private int next; - private List errors = new ArrayList(); - private boolean keep = false; + private List<Exception> errors = new ArrayList<Exception>(); private boolean need11Stubs = true; private boolean need12Stubs = true; - private boolean compile = true; private boolean verbose; private boolean noWrite; private String destination; - private String classpath; private ClassLoader loader; private int errorCount = 0; - private Class clazz; + private Class<?> clazz; private String classname; private String classInternalName; private String fullclassname; private MethodRef[] remotemethods; private String stubname; private String skelname; - private List mRemoteInterfaces; + private List<Class<?>> mRemoteInterfaces; /** * @return true if run was successful @@ -126,9 +123,9 @@ public class ClassRmicCompiler } if (errors.size() > 0) { - for (Iterator it = errors.iterator(); it.hasNext(); ) + for (Iterator<Exception> it = errors.iterator(); it.hasNext(); ) { - Exception ex = (Exception) it.next(); + Exception ex = it.next(); logError(ex); } } @@ -146,7 +143,7 @@ public class ClassRmicCompiler remotemethods = null; stubname = null; skelname = null; - mRemoteInterfaces = new ArrayList(); + mRemoteInterfaces = new ArrayList<Class<?>>(); analyzeClass(cls); generateStub(); @@ -175,7 +172,7 @@ public class ClassRmicCompiler */ public Exception getException() { - return errors.size() == 0 ? null : (Exception) errors.get(0); + return errors.size() == 0 ? null : errors.get(0); } private void findClass() @@ -202,7 +199,7 @@ public class ClassRmicCompiler } } - private static Type[] typeArray(Class[] cls) + private static Type[] typeArray(Class<?>[] cls) { Type[] t = new Type[cls.length]; for (int i = 0; i < cls.length; i++) @@ -231,11 +228,11 @@ public class ClassRmicCompiler private static final String forName = "class$"; - private static Object param(Method m, int argIndex) + private static List<Object> param(Method m, int argIndex) { - List l = new ArrayList(); + List<Object> l = new ArrayList<Object>(); l.add(m); - l.add(new Integer(argIndex)); + l.add(Integer.valueOf(argIndex)); return l; } @@ -283,10 +280,10 @@ public class ClassRmicCompiler cv.visitMaxs(-1, -1); } - private void generateClassConstant(MethodVisitor cv, Class cls) { + private void generateClassConstant(MethodVisitor cv, Class<?> cls) { if (cls.isPrimitive()) { - Class boxCls; + Class<?> boxCls; if (cls.equals(Boolean.TYPE)) boxCls = Boolean.class; else if (cls.equals(Character.TYPE)) @@ -321,7 +318,7 @@ public class ClassRmicCompiler new Type[] { Type.getType(String.class) })); } - private void generateClassArray(MethodVisitor code, Class[] classes) + private void generateClassArray(MethodVisitor code, Class<?>[] classes) { code.visitLdcInsn(new Integer(classes.length)); code.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Class.class)); @@ -352,7 +349,7 @@ public class ClassRmicCompiler desc.append(m.getName() + "("); // signature - Class[] sig = m.getParameterTypes(); + Class<?>[] sig = m.getParameterTypes(); for (int j = 0; j < sig.length; j++) { desc.append(getPrettyName(sig[j])); @@ -418,7 +415,6 @@ public class ClassRmicCompiler throws IOException { stubname = fullclassname + "_Stub"; - String stubclassname = classname + "_Stub"; File file = new File((destination == null ? "." : destination) + File.separator + stubname.replace('.', File.separatorChar) @@ -433,7 +429,7 @@ public class ClassRmicCompiler Type.getType(RemoteStub.class).getInternalName(); String[] remoteInternalNames = - internalNameArray((Class[]) mRemoteInterfaces.toArray(new Class[] {})); + internalNameArray(mRemoteInterfaces.toArray(new Class[mRemoteInterfaces.size()])); stub.visit (Opcodes.V1_2, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL, classInternalName, null, superInternalName, remoteInternalNames); @@ -601,10 +597,10 @@ public class ClassRmicCompiler for (int i = 0; i < remotemethods.length; i++) { Method m = remotemethods[i].meth; - Class[] sig = m.getParameterTypes(); - Class returntype = m.getReturnType(); - Class[] except = sortExceptions - ((Class[]) remotemethods[i].exceptions.toArray(new Class[0])); + Class<?>[] sig = m.getParameterTypes(); + Class<?> returntype = m.getReturnType(); + Class<?>[] except = sortExceptions + (remotemethods[i].exceptions.toArray(new Class<?>[remotemethods[i].exceptions.size()])); MethodVisitor code = stub.visitMethod (Opcodes.ACC_PUBLIC, @@ -664,9 +660,8 @@ public class ClassRmicCompiler for (int j = 0; j < sig.length; j++) { - int size = size(sig[j]); int insn = loadOpcode(sig[j]); - Class box = sig[j].isPrimitive() ? box(sig[j]) : null; + Class<?> box = sig[j].isPrimitive() ? box(sig[j]) : null; code.visitVarInsn(Opcodes.ALOAD, var.get("argArray")); code.visitLdcInsn(new Integer(j)); @@ -695,7 +690,7 @@ public class ClassRmicCompiler } // push remote operation opcode - code.visitLdcInsn(new Long(remotemethods[i].hash)); + code.visitLdcInsn(Long.valueOf(remotemethods[i].hash)); code.visitMethodInsn (Opcodes.INVOKEINTERFACE, Type.getInternalName(RemoteRef.class), @@ -710,7 +705,7 @@ public class ClassRmicCompiler if (! returntype.equals(Void.TYPE)) { int retcode = returnOpcode(returntype); - Class boxCls = + Class<?> boxCls = returntype.isPrimitive() ? box(returntype) : null; code.visitTypeInsn (Opcodes.CHECKCAST, typeArg(boxCls == null ? returntype : boxCls)); @@ -797,7 +792,7 @@ public class ClassRmicCompiler // get j'th arg to remote method code.visitVarInsn(loadOpcode(sig[j]), var.get(param(m, j))); - Class argCls = + Class<?> argCls = sig[j].isPrimitive() ? sig[j] : Object.class; // out.writeFoo @@ -872,7 +867,7 @@ public class ClassRmicCompiler Type.getMethodDescriptor (Type.getType(ObjectInput.class), new Type[] {})); - Class readCls = + Class<?> readCls = returntype.isPrimitive() ? returntype : Object.class; code.visitMethodInsn (Opcodes.INVOKEINTERFACE, @@ -936,8 +931,6 @@ public class ClassRmicCompiler Type.getType(Exception.class) })); code.visitInsn(Opcodes.ATHROW); - Label endReturnTryCatch = new Label(); - // catch IOException code.visitTryCatchBlock (beginReturnTryCatch, handler, handler, @@ -1024,7 +1017,6 @@ public class ClassRmicCompiler private void generateSkel() throws IOException { skelname = fullclassname + "_Skel"; - String skelclassname = classname + "_Skel"; File file = new File(destination == null ? "" : destination + File.separator + skelname.replace('.', File.separatorChar) @@ -1119,7 +1111,7 @@ public class ClassRmicCompiler { // assign opnum if hash matches supplied hash dispatch.visitVarInsn(Opcodes.LLOAD, var.get("hash")); - dispatch.visitLdcInsn(new Long(remotemethods[i].hash)); + dispatch.visitLdcInsn(Long.valueOf(remotemethods[i].hash)); Label notIt = new Label(); dispatch.visitInsn(Opcodes.LCMP); dispatch.visitJumpInsn(Opcodes.IFNE, notIt); @@ -1214,7 +1206,7 @@ public class ClassRmicCompiler private void generateMethodSkel(MethodVisitor cv, Method m, Variables var) { - Class[] sig = m.getParameterTypes(); + Class<?>[] sig = m.getParameterTypes(); Label readArgs = new Label(); cv.visitLabel(readArgs); @@ -1235,7 +1227,7 @@ public class ClassRmicCompiler // dup input stream cv.visitVarInsn(Opcodes.ALOAD, var.get("objectinput")); - Class readCls = sig[i].isPrimitive() ? sig[i] : Object.class; + Class<?> readCls = sig[i].isPrimitive() ? sig[i] : Object.class; // in.readFoo() cv.visitMethodInsn @@ -1314,7 +1306,7 @@ public class ClassRmicCompiler (Opcodes.INVOKEVIRTUAL, Type.getInternalName(clazz), m.getName(), Type.getMethodDescriptor(m)); - Class returntype = m.getReturnType(); + Class<?> returntype = m.getReturnType(); if (! returntype.equals(Void.TYPE)) { cv.visitVarInsn @@ -1338,7 +1330,7 @@ public class ClassRmicCompiler { // out.writeFoo(result) cv.visitVarInsn(loadOpcode(returntype), var.deallocate("result")); - Class writeCls = returntype.isPrimitive() ? returntype : Object.class; + Class<?> writeCls = returntype.isPrimitive() ? returntype : Object.class; cv.visitMethodInsn (Opcodes.INVOKEINTERFACE, Type.getInternalName(ObjectOutput.class), @@ -1370,7 +1362,7 @@ public class ClassRmicCompiler Type.getInternalName(IOException.class)); } - private static String typeArg(Class cls) + private static String typeArg(Class<?> cls) { if (cls.isArray()) return Type.getDescriptor(cls); @@ -1378,7 +1370,7 @@ public class ClassRmicCompiler return Type.getInternalName(cls); } - private static String readMethod(Class cls) + private static String readMethod(Class<?> cls) { if (cls.equals(Void.TYPE)) throw new IllegalArgumentException("can not read void"); @@ -1406,7 +1398,7 @@ public class ClassRmicCompiler return method; } - private static String writeMethod(Class cls) + private static String writeMethod(Class<?> cls) { if (cls.equals(Void.TYPE)) throw new IllegalArgumentException("can not read void"); @@ -1434,7 +1426,7 @@ public class ClassRmicCompiler return method; } - private static int returnOpcode(Class cls) + private static int returnOpcode(Class<?> cls) { int returncode; if (cls.equals(Boolean.TYPE)) @@ -1461,7 +1453,7 @@ public class ClassRmicCompiler return returncode; } - private static int loadOpcode(Class cls) + private static int loadOpcode(Class<?> cls) { if (cls.equals(Void.TYPE)) throw new IllegalArgumentException("can not load void"); @@ -1489,7 +1481,7 @@ public class ClassRmicCompiler return loadcode; } - private static int storeOpcode(Class cls) + private static int storeOpcode(Class<?> cls) { if (cls.equals(Void.TYPE)) throw new IllegalArgumentException("can not load void"); @@ -1517,7 +1509,7 @@ public class ClassRmicCompiler return storecode; } - private static String unboxMethod(Class primitive) + private static String unboxMethod(Class<?> primitive) { if (! primitive.isPrimitive()) throw new IllegalArgumentException("can not unbox nonprimitive"); @@ -1545,12 +1537,12 @@ public class ClassRmicCompiler return method; } - public static Class box(Class cls) + public static Class<?> box(Class<?> cls) { if (! cls.isPrimitive()) throw new IllegalArgumentException("can only box primitive"); - Class box; + Class<?> box; if (cls.equals(Boolean.TYPE)) box = Boolean.class; else if (cls.equals(Byte.TYPE)) @@ -1573,7 +1565,7 @@ public class ClassRmicCompiler return box; } - private static int size(Class cls) { + private static int size(Class<?> cls) { if (cls.equals(Long.TYPE) || cls.equals(Double.TYPE)) return 2; else @@ -1583,7 +1575,7 @@ public class ClassRmicCompiler /** * Sort exceptions so the most general go last. */ - private Class[] sortExceptions(Class[] except) + private Class<?>[] sortExceptions(Class<?>[] except) { for (int i = 0; i < except.length; i++) { @@ -1591,7 +1583,7 @@ public class ClassRmicCompiler { if (except[i].isAssignableFrom(except[j])) { - Class tmp = except[i]; + Class<?> tmp = except[i]; except[i] = except[j]; except[j] = tmp; } @@ -1605,14 +1597,12 @@ public class ClassRmicCompiler boolean noWrite, boolean verbose, boolean force, String classpath, String bootclasspath, String extdirs, String outputDirectory) { - this.keep = keep; this.need11Stubs = need11Stubs; this.need12Stubs = need12Stubs; this.verbose = verbose; this.noWrite = noWrite; // Set up classpath. - this.classpath = classpath; StringTokenizer st = new StringTokenizer(classpath, File.pathSeparator); URL[] u = new URL[st.countTokens()]; @@ -1638,15 +1628,15 @@ public class ClassRmicCompiler private void findRemoteMethods() throws RMICException { - List rmeths = new ArrayList(); - for (Class cur = clazz; cur != null; cur = cur.getSuperclass()) + List<Method> rmeths = new ArrayList<Method>(); + for (Class<?> cur = clazz; cur != null; cur = cur.getSuperclass()) { - Class[] interfaces = cur.getInterfaces(); + Class<?>[] interfaces = cur.getInterfaces(); for (int i = 0; i < interfaces.length; i++) { if (java.rmi.Remote.class.isAssignableFrom(interfaces[i])) { - Class remoteInterface = interfaces[i]; + Class<?> remoteInterface = interfaces[i]; if (verbose) System.out.println ("[implements " + remoteInterface.getName() + "]"); @@ -1684,11 +1674,11 @@ public class ClassRmicCompiler boolean[] skip = new boolean[rmeths.size()]; for (int i = 0; i < skip.length; i++) skip[i] = false; - List methrefs = new ArrayList(); + List<MethodRef> methrefs = new ArrayList<MethodRef>(); for (int i = 0; i < rmeths.size(); i++) { if (skip[i]) continue; - Method current = (Method) rmeths.get(i); + Method current = rmeths.get(i); MethodRef ref = new MethodRef(current); for (int j = i+1; j < rmeths.size(); j++) { @@ -1703,7 +1693,7 @@ public class ClassRmicCompiler } // Convert into a MethodRef array and sort them - remotemethods = (MethodRef[]) + remotemethods = methrefs.toArray(new MethodRef[methrefs.size()]); Arrays.sort(remotemethods); } @@ -1748,7 +1738,7 @@ public class ClassRmicCompiler { Method meth; long hash; - List exceptions; + List<Class<?>> exceptions; private String sig; MethodRef(Method m) { @@ -1784,12 +1774,12 @@ public class ClassRmicCompiler return true; } - private static List removeSubclasses(Class[] classes) + private static List<Class<?>> removeSubclasses(Class<?>[] classes) { - List list = new ArrayList(); + List<Class<?>> list = new ArrayList<Class<?>>(); for (int i = 0; i < classes.length; i++) { - Class candidate = classes[i]; + Class<?> candidate = classes[i]; boolean add = true; for (int j = 0; j < classes.length; j++) { @@ -1806,17 +1796,17 @@ public class ClassRmicCompiler public void intersectExceptions(Method m) { - List incoming = removeSubclasses(m.getExceptionTypes()); + List<Class<?>> incoming = removeSubclasses(m.getExceptionTypes()); - List updated = new ArrayList(); + List<Class<?>> updated = new ArrayList<Class<?>>(); for (int i = 0; i < exceptions.size(); i++) { - Class outer = (Class) exceptions.get(i); + Class<?> outer = exceptions.get(i); boolean addOuter = false; for (int j = 0; j < incoming.size(); j++) { - Class inner = (Class) incoming.get(j); + Class<?> inner = incoming.get(j); if (inner.equals(outer) || inner.isAssignableFrom(outer)) addOuter = true; diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java index 868fc758ee3..02f72441a17 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java @@ -1,5 +1,5 @@ /* Main.java -- RMI stub generator. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -236,7 +236,7 @@ public class Main System.exit(1); } - ArrayList backends = new ArrayList(); + ArrayList<RmicBackend> backends = new ArrayList<RmicBackend>(); // FIXME: need an IDL RmicBackend // FIXME: need a ClassGiopRmicCompiler RmicBackend @@ -262,7 +262,7 @@ public class Main for (int i = 0; i < backends.size(); i++) { - RmicBackend b = (RmicBackend) backends.get(i); + RmicBackend b = backends.get(i); b.setup(keep, need11Stubs, need12Stubs, iiop, poa, false, warnings, noWrite, verbose, force, classpath, diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java index e02f086efdc..d533f122055 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java @@ -86,7 +86,7 @@ public class RmiMethodGenerator { StringBuilder b = new StringBuilder(); - Class[] args = method.getParameterTypes(); + Class<?>[] args = method.getParameterTypes(); for (int i = 0; i < args.length; i++) { @@ -108,7 +108,7 @@ public class RmiMethodGenerator { StringBuilder b = new StringBuilder(); - Class[] args = method.getParameterTypes(); + Class<?>[] args = method.getParameterTypes(); for (int i = 0; i < args.length; i++) { @@ -128,7 +128,7 @@ public class RmiMethodGenerator { StringBuilder b = new StringBuilder(); - Class[] args = method.getExceptionTypes(); + Class<?>[] args = method.getExceptionTypes(); for (int i = 0; i < args.length; i++) { @@ -184,7 +184,7 @@ public class RmiMethodGenerator public String getStaticMethodDeclarations() { StringBuilder b = new StringBuilder(); - Class[] args = method.getParameterTypes(); + Class<?>[] args = method.getParameterTypes(); for (int i = 0; i < args.length; i++) { diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java index dd35c2bd5a0..cf1b0b67925 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java @@ -1,5 +1,5 @@ /* SourceGiopRmicCompiler -- Central GIOP-based RMI stub and tie compiler class. - Copyright (C) 2006, 2008 Free Software Foundation + Copyright (C) 2006, 2008, 2012 Free Software Foundation This file is part of GNU Classpath. @@ -50,7 +50,7 @@ import java.util.TreeSet; * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) */ public class SourceGiopRmicCompiler - extends Generator implements Comparator, RmicBackend + extends Generator implements Comparator<AbstractMethodGenerator>, RmicBackend { /** The package name. */ protected String packag; @@ -74,17 +74,18 @@ public class SourceGiopRmicCompiler /** * The Remote's, implemented by this class. */ - protected Collection implementedRemotes = new HashSet(); + protected Collection<Class<?>> implementedRemotes = new HashSet<Class<?>>(); /** * The extra classes that must be imported. */ - protected Collection extraImports = new HashSet(); + protected Collection<String> extraImports = new HashSet<String>(); /** * The methods we must implement. */ - protected Collection methods = new HashSet(); + protected Collection<AbstractMethodGenerator> methods = + new HashSet<AbstractMethodGenerator>(); /** * The map of all code generator variables. @@ -228,7 +229,7 @@ public class SourceGiopRmicCompiler * @param remote * the class to compile. */ - public synchronized void compile(Class remote) + public synchronized void compile(Class<?> remote) { reset(); String s; @@ -261,7 +262,7 @@ public class SourceGiopRmicCompiler + implName); // Get the implemented remotes. - Class[] interfaces = remote.getInterfaces(); + Class<?>[] interfaces = remote.getInterfaces(); for (int i = 0; i < interfaces.length; i++) { @@ -277,11 +278,11 @@ public class SourceGiopRmicCompiler vars.put("#idList", getIdList(implementedRemotes)); // Collect and process methods. - Iterator iter = implementedRemotes.iterator(); + Iterator<Class<?>> iter = implementedRemotes.iterator(); while (iter.hasNext()) { - Class c = (Class) iter.next(); + Class<?> c = iter.next(); Method[] m = c.getMethods(); // Check if throws RemoteException. @@ -374,7 +375,7 @@ public class SourceGiopRmicCompiler * the interface, for that the repository Id must be created. * @return the repository id */ - public String getId(Class c) + public String getId(Class<?> c) { return "RMI:" + c.getName() + ":0000000000000000"; } @@ -386,25 +387,25 @@ public class SourceGiopRmicCompiler * the collection of interfaces * @return the fully formatted string array. */ - public String getIdList(Collection remotes) + public String getIdList(Collection<Class<?>> remotes) { StringBuilder b = new StringBuilder(); // Keep the Ids sorted, ensuring, that the same order will be preserved // between compilations. - TreeSet sortedIds = new TreeSet(); + TreeSet<String> sortedIds = new TreeSet<String>(); - Iterator iter = remotes.iterator(); + Iterator<Class<?>> iter = remotes.iterator(); while (iter.hasNext()) { - sortedIds.add(getId((Class) iter.next())); + sortedIds.add(getId(iter.next())); } - iter = sortedIds.iterator(); - while (iter.hasNext()) + Iterator<String> iterIds = sortedIds.iterator(); + while (iterIds.hasNext()) { - b.append(" \"" + iter.next() + "\""); - if (iter.hasNext()) + b.append(" \"" + iterIds.next() + "\""); + if (iterIds.hasNext()) b.append(", \n"); } return b.toString(); @@ -421,10 +422,10 @@ public class SourceGiopRmicCompiler // Generate methods. StringBuilder b = new StringBuilder(); - Iterator iter = methods.iterator(); + Iterator<AbstractMethodGenerator> iter = methods.iterator(); while (iter.hasNext()) { - AbstractMethodGenerator m = (AbstractMethodGenerator) iter.next(); + AbstractMethodGenerator m = iter.next(); b.append(m.generateStubMethod()); } @@ -474,7 +475,7 @@ public class SourceGiopRmicCompiler HashFinder hashFinder = new HashFinder(); // Find the hash character position: - Iterator iter = methods.iterator(); + Iterator<AbstractMethodGenerator> iter = methods.iterator(); String[] names = new String[methods.size()]; int p = 0; @@ -489,7 +490,8 @@ public class SourceGiopRmicCompiler vars.put("#hashCharPos", Integer.toString(hashCharPosition)); - ArrayList sortedMethods = new ArrayList(methods); + ArrayList<AbstractMethodGenerator> sortedMethods = + new ArrayList<AbstractMethodGenerator>(methods); Collections.sort(sortedMethods, this); iter = sortedMethods.iterator(); @@ -515,10 +517,10 @@ public class SourceGiopRmicCompiler return output; } - public int compare(Object a, Object b) + public int compare(AbstractMethodGenerator ag1, AbstractMethodGenerator ag2) { - MethodGenerator g1 = (MethodGenerator) a; - MethodGenerator g2 = (MethodGenerator) b; + MethodGenerator g1 = (MethodGenerator) ag1; + MethodGenerator g2 = (MethodGenerator) ag2; return g1.getHashChar() - g2.getHashChar(); } @@ -530,12 +532,12 @@ public class SourceGiopRmicCompiler */ protected String getImportStatements() { - TreeSet imp = new TreeSet(); + TreeSet<String> imp = new TreeSet<String>(); - Iterator it = extraImports.iterator(); + Iterator<String> it = extraImports.iterator(); while (it.hasNext()) { - String ic = it.next().toString(); + String ic = it.next(); imp.add("import " + ic + ";\n"); } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java index 1fc6a809518..14ba6493ae0 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java @@ -1,6 +1,5 @@ /* Variables.java -- - Copyright (c) 2004, 2005 - Free Software Foundation, Inc. + Copyright (c) 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,10 +43,10 @@ import java.util.Iterator; class Variables { - private final HashSet free = new HashSet(); - private final HashMap names = new HashMap(); - private final HashSet wides = new HashSet(); - private final HashSet declared = new HashSet(); + private final HashSet<Integer> free = new HashSet<Integer>(); + private final HashMap<Object,Integer> names = new HashMap<Object,Integer>(); + private final HashSet<Object> wides = new HashSet<Object>(); + private final HashSet<Object> declared = new HashSet<Object>(); private boolean allocated = false; public void declare(Object name) @@ -77,7 +76,7 @@ class Variables { // total allocation size is first unallocated slot int i = free.size() + names.size() + wides.size(); - names.put(name, new Integer(i)); + names.put(name, Integer.valueOf(i)); if (size == 2) wides.add(name); return i; } @@ -103,10 +102,10 @@ class Variables if (size == 2) { // look for consecutive free slots - for (Iterator it = free.iterator(); it.hasNext(); ) + for (Iterator<Integer> it = free.iterator(); it.hasNext(); ) { - Integer i = (Integer) it.next(); - Integer next = new Integer(i.intValue() + 1); + Integer i = it.next(); + Integer next = Integer.valueOf(i.intValue() + 1); if (free.contains(next)) { free.remove(i); @@ -119,7 +118,7 @@ class Variables } else if (free.size() > 0) { - Integer i = (Integer) free.iterator().next(); + Integer i = free.iterator().next(); free.remove(i); names.put(name, i); return i.intValue(); @@ -136,11 +135,11 @@ class Variables if (declared.contains(name)) throw new IllegalStateException(name + " can't be deallocated"); - Integer i = (Integer) names.get(name); + Integer i = names.get(name); names.remove(name); free.add(i); if (wides.remove(name)) - free.add(new Integer(i.intValue() + 1)); + free.add(Integer.valueOf(i.intValue() + 1)); return i.intValue(); } @@ -149,6 +148,6 @@ class Variables if (! names.containsKey(name)) throw new IllegalArgumentException("no variable " + name); - return ((Integer) names.get(name)).intValue(); + return names.get(name).intValue(); } } diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod index 144d38deac4..5d11345accd 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod @@ -7,7 +7,7 @@ Corporation, Norman Walsh, and the Organization for the Advancement of Structured Information Standards (OASIS). - $Id: dbcentx.mod,v 1.1 2008/05/27 19:26:05 jsumali Exp $ + $Id: dbcentx.mod,v 1.1 2008-05-27 19:26:05 jsumali Exp $ Permission to use, copy, modify and distribute the DocBook XML DTD and its accompanying documentation for any purpose and without fee diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent index c03b1c91e9c..beb34bfda83 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amsa.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amsa.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent index 945d7eef431..cc8b5b53396 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amsb.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amsb.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent index 604ac480c67..0d4990f5459 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amsc.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amsc.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent index fbc1e94e145..9906bde8c82 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amsn.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amsn.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent index 6dc68108f0c..f972ffd88e9 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amso.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amso.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent index 9c370b3ad4d..c09c33beafd 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-amsr.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-amsr.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent index 904916c908f..456c434412c 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-box.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-box.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent index 6507c79cb5f..1caf86b8508 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-cyr1.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $ + $Id: iso-cyr1.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent index 50f534749a4..07d61e0ea83 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-cyr2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-cyr2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent index 278e5d9e08f..3e1fe7645b7 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-dia.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-dia.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent index 848f203d079..9c85b571064 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-grk1.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-grk1.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent index a75f5b04abb..3809376a4ad 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-grk2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-grk2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent index 070ef252ca4..8ca2d43876d 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-grk3.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-grk3.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent index 18c96eb49f6..93956dc7633 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-grk4.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-grk4.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent index 9c2c24932f3..4e60e440834 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-lat1.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-lat1.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent index 2f146967cc4..0d5f0d3fd85 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-lat2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-lat2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent index b3c434e30d1..947bdae6341 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-num.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $ + $Id: iso-num.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent index 979d178a49d..56710314f68 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-pub.ent,v 1.1 2008/05/27 19:26:08 jsumali Exp $ + $Id: iso-pub.ent,v 1.1 2008-05-27 19:26:08 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent index b0aaac49c28..388d94557fa 100644 --- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent +++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent @@ -5,7 +5,7 @@ <!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured Information Standards (OASIS). - $Id: iso-tech.ent,v 1.1 2008/05/27 19:26:08 jsumali Exp $ + $Id: iso-tech.ent,v 1.1 2008-05-27 19:26:08 jsumali Exp $ Permission to use, copy, modify and distribute this entity set and its accompanying documentation for any purpose and without diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h index 19178ef878c..b9516dd08d0 100644 --- a/libjava/gcj/javaprims.h +++ b/libjava/gcj/javaprims.h @@ -161,6 +161,7 @@ extern "Java" class ArrayIndexOutOfBoundsException; class ArrayStoreException; class AssertionError; + class AutoCloseable; class Boolean; class Byte; class CharSequence; @@ -226,6 +227,7 @@ extern "Java" class Process; class ProcessBuilder; class Readable; + class ReflectiveOperationException; class Runnable; class Runtime; class RuntimeException; diff --git a/libjava/gnu/java/nio/FileLockImpl.h b/libjava/gnu/java/nio/FileLockImpl.h index ba1668be327..514f03ea65d 100644 --- a/libjava/gnu/java/nio/FileLockImpl.h +++ b/libjava/gnu/java/nio/FileLockImpl.h @@ -34,6 +34,7 @@ public: // actually protected void finalize(); public: jboolean isValid(); + void close(); void release(); private: jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::FileLock)))) valid; diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java index 673ca2522df..6af01f15ebc 100644 --- a/libjava/gnu/java/nio/FileLockImpl.java +++ b/libjava/gnu/java/nio/FileLockImpl.java @@ -90,6 +90,11 @@ public final class FileLockImpl extends FileLock return valid; } + public void close() throws Exception + { + release(); + } + /** * Releases the lock if it is still valid. Marks this lock as invalid. */ diff --git a/libjava/gnu/java/text/AttributedFormatBuffer.h b/libjava/gnu/java/text/AttributedFormatBuffer.h index 382afe1a3de..34293914988 100644 --- a/libjava/gnu/java/text/AttributedFormatBuffer.h +++ b/libjava/gnu/java/text/AttributedFormatBuffer.h @@ -46,7 +46,7 @@ private: public: virtual void append(::java::lang::String *); virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *); - virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *); virtual void append(jchar); virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *); virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *); @@ -57,13 +57,13 @@ public: virtual void sync(); virtual ::gnu::java::lang::CPStringBuilder * getBuffer(); virtual JArray< jint > * getRanges(); - virtual JArray< ::java::util::HashMap * > * getAttributes(); + virtual ::java::util::List * getAttributes(); private: ::gnu::java::lang::CPStringBuilder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; ::java::util::ArrayList * ranges; ::java::util::ArrayList * attributes; - JArray< jint > * a_ranges; - JArray< ::java::util::HashMap * > * a_attributes; + JArray< jint > * aRanges; + ::java::util::List * aAttributes; jint startingRange; public: // actually package-private ::java::text::AttributedCharacterIterator$Attribute * defaultAttr; diff --git a/libjava/gnu/java/text/FormatBuffer.h b/libjava/gnu/java/text/FormatBuffer.h index 267cf6fb013..14fcd5a8c2e 100644 --- a/libjava/gnu/java/text/FormatBuffer.h +++ b/libjava/gnu/java/text/FormatBuffer.h @@ -36,7 +36,7 @@ class gnu::java::text::FormatBuffer : public ::java::lang::Object public: virtual void append(::java::lang::String *) = 0; virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *) = 0; - virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *) = 0; + virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *) = 0; virtual void append(jchar) = 0; virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *) = 0; virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *) = 0; diff --git a/libjava/gnu/java/text/FormatCharacterIterator.h b/libjava/gnu/java/text/FormatCharacterIterator.h index 82c7fa02e4d..dcb68382297 100644 --- a/libjava/gnu/java/text/FormatCharacterIterator.h +++ b/libjava/gnu/java/text/FormatCharacterIterator.h @@ -36,7 +36,7 @@ class gnu::java::text::FormatCharacterIterator : public ::java::lang::Object public: FormatCharacterIterator(); - FormatCharacterIterator(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + FormatCharacterIterator(::java::lang::String *, JArray< jint > *, ::java::util::List *); virtual ::java::util::Set * getAllAttributeKeys(); virtual ::java::util::Map * getAttributes(); virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *); @@ -56,11 +56,11 @@ public: virtual jchar next(); virtual jchar previous(); virtual jchar setIndex(jint); - virtual void mergeAttributes(JArray< ::java::util::HashMap * > *, JArray< jint > *); + virtual void mergeAttributes(::java::util::List *, JArray< jint > *); virtual void append(::java::text::AttributedCharacterIterator *); virtual void append(::java::lang::String *, ::java::util::HashMap *); virtual void append(::java::lang::String *); - virtual void addAttributes(::java::util::HashMap *, jint, jint); + virtual void addAttributes(::java::util::Map *, jint, jint); private: void debug(::java::lang::String *); void dumpTable(); @@ -68,7 +68,7 @@ private: jint charIndex; jint attributeIndex; JArray< jint > * ranges; - JArray< ::java::util::HashMap * > * attributes; + ::java::util::List * attributes; static const jboolean DEBUG = 0; public: static ::java::lang::Class class$; diff --git a/libjava/gnu/java/text/StringFormatBuffer.h b/libjava/gnu/java/text/StringFormatBuffer.h index 9ee5bf8cb7e..945aa9becfe 100644 --- a/libjava/gnu/java/text/StringFormatBuffer.h +++ b/libjava/gnu/java/text/StringFormatBuffer.h @@ -38,7 +38,7 @@ public: StringFormatBuffer(::java::lang::StringBuffer *); virtual void append(::java::lang::String *); virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *); - virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *); virtual void append(jchar); virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *); virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *); diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h index a5f7a82edcf..3477caebb4b 100644 --- a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h +++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h @@ -31,9 +31,10 @@ class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo : public :: { public: - DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong); + DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong); public: // actually package-private - ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) soname; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) copyright; + ::java::lang::String * soname; jlong index; public: static ::java::lang::Class class$; diff --git a/libjava/java/awt/geom/Area.h b/libjava/java/awt/geom/Area.h index 47a87df4ec5..6a127dced45 100644 --- a/libjava/java/awt/geom/Area.h +++ b/libjava/java/awt/geom/Area.h @@ -87,7 +87,7 @@ public: // actually package-private ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) solids; ::java::util::Vector * holes; private: - ::java::util::Vector * cc_intersections; + ::java::util::Vector * ccIntersections; jint windingRule; public: static ::java::lang::Class class$; diff --git a/libjava/java/lang/AssertionError.h b/libjava/java/lang/AssertionError.h index 0154c04b3f4..15c4672e75c 100644 --- a/libjava/java/lang/AssertionError.h +++ b/libjava/java/lang/AssertionError.h @@ -20,6 +20,7 @@ public: AssertionError(jlong); AssertionError(jfloat); AssertionError(jdouble); + AssertionError(::java::lang::String *, ::java::lang::Throwable *); private: static const jlong serialVersionUID = -5013299493970297370LL; public: diff --git a/libjava/java/lang/AutoCloseable.h b/libjava/java/lang/AutoCloseable.h new file mode 100644 index 00000000000..023538f1f2d --- /dev/null +++ b/libjava/java/lang/AutoCloseable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_AutoCloseable__ +#define __java_lang_AutoCloseable__ + +#pragma interface + +#include <java/lang/Object.h> + +class java::lang::AutoCloseable : public ::java::lang::Object +{ + +public: + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_AutoCloseable__ diff --git a/libjava/java/lang/Boolean.h b/libjava/java/lang/Boolean.h index 0ead5b527e4..8a764b9b688 100644 --- a/libjava/java/lang/Boolean.h +++ b/libjava/java/lang/Boolean.h @@ -23,6 +23,7 @@ public: jboolean equals(::java::lang::Object *); static jboolean getBoolean(::java::lang::String *); jint Boolean$compareTo(::java::lang::Boolean *); + static jint compare(jboolean, jboolean); static jboolean parseBoolean(::java::lang::String *); jint compareTo(::java::lang::Object *); private: diff --git a/libjava/java/lang/Byte.h b/libjava/java/lang/Byte.h index fc9e3b33f67..547e08f5113 100644 --- a/libjava/java/lang/Byte.h +++ b/libjava/java/lang/Byte.h @@ -33,6 +33,7 @@ public: jint hashCode(); jboolean equals(::java::lang::Object *); jint Byte$compareTo(::java::lang::Byte *); + static jint compare(jbyte, jbyte); jint compareTo(::java::lang::Object *); private: static const jlong serialVersionUID = -7183698231559129828LL; diff --git a/libjava/java/lang/ClassNotFoundException.h b/libjava/java/lang/ClassNotFoundException.h index c0ab7815807..365f5a866d4 100644 --- a/libjava/java/lang/ClassNotFoundException.h +++ b/libjava/java/lang/ClassNotFoundException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::ClassNotFoundException : public ::java::lang::Exception +class java::lang::ClassNotFoundException : public ::java::lang::ReflectiveOperationException { public: @@ -19,7 +19,7 @@ public: virtual ::java::lang::Throwable * getCause(); private: static const jlong serialVersionUID = 9176873029745254542LL; - ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) ex; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::ReflectiveOperationException)))) ex; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/lang/IllegalAccessException.h b/libjava/java/lang/IllegalAccessException.h index c0917475699..a01967bfe63 100644 --- a/libjava/java/lang/IllegalAccessException.h +++ b/libjava/java/lang/IllegalAccessException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::IllegalAccessException : public ::java::lang::Exception +class java::lang::IllegalAccessException : public ::java::lang::ReflectiveOperationException { public: diff --git a/libjava/java/lang/InstantiationException.h b/libjava/java/lang/InstantiationException.h index 805ab3c70dc..72df77f9fed 100644 --- a/libjava/java/lang/InstantiationException.h +++ b/libjava/java/lang/InstantiationException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::InstantiationException : public ::java::lang::Exception +class java::lang::InstantiationException : public ::java::lang::ReflectiveOperationException { public: diff --git a/libjava/java/lang/Integer.h b/libjava/java/lang/Integer.h index f1bd11bdbd9..95624e432c3 100644 --- a/libjava/java/lang/Integer.h +++ b/libjava/java/lang/Integer.h @@ -43,6 +43,7 @@ public: static ::java::lang::Integer * getInteger(::java::lang::String *, ::java::lang::Integer *); static ::java::lang::Integer * decode(::java::lang::String *); jint Integer$compareTo(::java::lang::Integer *); + static jint compare(jint, jint); static jint bitCount(jint); static jint rotateLeft(jint, jint); static jint rotateRight(jint, jint); diff --git a/libjava/java/lang/LinkageError.h b/libjava/java/lang/LinkageError.h index 4368d8b9ff8..ed632b35c07 100644 --- a/libjava/java/lang/LinkageError.h +++ b/libjava/java/lang/LinkageError.h @@ -14,6 +14,7 @@ class java::lang::LinkageError : public ::java::lang::Error public: LinkageError(); LinkageError(::java::lang::String *); + LinkageError(::java::lang::String *, ::java::lang::Throwable *); private: static const jlong serialVersionUID = 3579600108157160122LL; public: diff --git a/libjava/java/lang/Long.h b/libjava/java/lang/Long.h index 60c0d24379d..ae5c2640c86 100644 --- a/libjava/java/lang/Long.h +++ b/libjava/java/lang/Long.h @@ -43,6 +43,7 @@ public: static ::java::lang::Long * getLong(::java::lang::String *, jlong); static ::java::lang::Long * getLong(::java::lang::String *, ::java::lang::Long *); jint Long$compareTo(::java::lang::Long *); + static jint compare(jlong, jlong); static jint bitCount(jlong); static jlong rotateLeft(jlong, jint); static jlong rotateRight(jlong, jint); diff --git a/libjava/java/lang/NoSuchFieldException.h b/libjava/java/lang/NoSuchFieldException.h index 36fe841ed74..11e1d1aceb3 100644 --- a/libjava/java/lang/NoSuchFieldException.h +++ b/libjava/java/lang/NoSuchFieldException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::NoSuchFieldException : public ::java::lang::Exception +class java::lang::NoSuchFieldException : public ::java::lang::ReflectiveOperationException { public: diff --git a/libjava/java/lang/NoSuchMethodException.h b/libjava/java/lang/NoSuchMethodException.h index dc905d67f48..d2de014c5b9 100644 --- a/libjava/java/lang/NoSuchMethodException.h +++ b/libjava/java/lang/NoSuchMethodException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::NoSuchMethodException : public ::java::lang::Exception +class java::lang::NoSuchMethodException : public ::java::lang::ReflectiveOperationException { public: diff --git a/libjava/java/lang/ReflectiveOperationException.h b/libjava/java/lang/ReflectiveOperationException.h new file mode 100644 index 00000000000..3a6a698214a --- /dev/null +++ b/libjava/java/lang/ReflectiveOperationException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ReflectiveOperationException__ +#define __java_lang_ReflectiveOperationException__ + +#pragma interface + +#include <java/lang/Exception.h> + +class java::lang::ReflectiveOperationException : public ::java::lang::Exception +{ + +public: + ReflectiveOperationException(); + ReflectiveOperationException(::java::lang::String *); + ReflectiveOperationException(::java::lang::String *, ::java::lang::Throwable *); + ReflectiveOperationException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 123456789LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ReflectiveOperationException__ diff --git a/libjava/java/lang/Short.h b/libjava/java/lang/Short.h index 4858db52f4a..48a3973690c 100644 --- a/libjava/java/lang/Short.h +++ b/libjava/java/lang/Short.h @@ -33,6 +33,7 @@ public: jint hashCode(); jboolean equals(::java::lang::Object *); jint Short$compareTo(::java::lang::Short *); + static jint compare(jshort, jshort); static jshort reverseBytes(jshort); jint compareTo(::java::lang::Object *); private: diff --git a/libjava/java/lang/reflect/InvocationTargetException.h b/libjava/java/lang/reflect/InvocationTargetException.h index 37e229c2957..5132c76fac2 100644 --- a/libjava/java/lang/reflect/InvocationTargetException.h +++ b/libjava/java/lang/reflect/InvocationTargetException.h @@ -6,9 +6,9 @@ #pragma interface -#include <java/lang/Exception.h> +#include <java/lang/ReflectiveOperationException.h> -class java::lang::reflect::InvocationTargetException : public ::java::lang::Exception +class java::lang::reflect::InvocationTargetException : public ::java::lang::ReflectiveOperationException { public: // actually protected @@ -20,7 +20,7 @@ public: virtual ::java::lang::Throwable * getCause(); private: static const jlong serialVersionUID = 4085088731926701167LL; - ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) target; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::ReflectiveOperationException)))) target; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/nio/channels/FileLock.h b/libjava/java/nio/channels/FileLock.h index fb358583518..1d16a7c4013 100644 --- a/libjava/java/nio/channels/FileLock.h +++ b/libjava/java/nio/channels/FileLock.h @@ -36,6 +36,7 @@ public: virtual jlong position(); virtual jlong size(); virtual ::java::lang::String * toString(); + virtual void close() = 0; private: ::java::nio::channels::FileChannel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel__; jlong position__; diff --git a/libjava/java/text/CollationElementIterator.h b/libjava/java/text/CollationElementIterator.h index a3b75de189e..2638b078477 100644 --- a/libjava/java/text/CollationElementIterator.h +++ b/libjava/java/text/CollationElementIterator.h @@ -50,8 +50,8 @@ public: // actually package-private jint index; jint textIndex; private: - JArray< ::java::text::RuleBasedCollator$CollationElement * > * text_decomposition; - JArray< jint > * text_indexes; + JArray< ::java::text::RuleBasedCollator$CollationElement * > * textDecomposition; + JArray< jint > * textIndexes; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/text/DateFormatSymbols$DFSData.h b/libjava/java/text/DateFormatSymbols$DFSData.h new file mode 100644 index 00000000000..939223c93aa --- /dev/null +++ b/libjava/java/text/DateFormatSymbols$DFSData.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DateFormatSymbols$DFSData__ +#define __java_text_DateFormatSymbols$DFSData__ + +#pragma interface + +#include <java/lang/Object.h> +#include <gcj/array.h> + +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormatSymbols$DFSData; + } + } +} + +class java::text::DateFormatSymbols$DFSData : public ::java::lang::Object +{ + +public: + DateFormatSymbols$DFSData(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< JArray< ::java::lang::String * > * > *); + virtual JArray< ::java::lang::String * > * getAMPMs(); + virtual JArray< ::java::lang::String * > * getEras(); + virtual ::java::lang::String * getLocalPatternChars(); + virtual JArray< ::java::lang::String * > * getMonths(); + virtual JArray< ::java::lang::String * > * getShortMonths(); + virtual JArray< ::java::lang::String * > * getWeekdays(); + virtual JArray< ::java::lang::String * > * getShortWeekdays(); + virtual JArray< ::java::lang::String * > * getDateFormats(); + virtual JArray< ::java::lang::String * > * getTimeFormats(); + virtual JArray< JArray< ::java::lang::String * > * > * getZoneStrings(); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms; + JArray< ::java::lang::String * > * eras; + ::java::lang::String * localPatternChars; + JArray< ::java::lang::String * > * months; + JArray< ::java::lang::String * > * shortMonths; + JArray< ::java::lang::String * > * weekdays; + JArray< ::java::lang::String * > * shortWeekdays; + JArray< ::java::lang::String * > * dateFormats; + JArray< ::java::lang::String * > * timeFormats; + JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_DateFormatSymbols$DFSData__ diff --git a/libjava/java/text/DateFormatSymbols.h b/libjava/java/text/DateFormatSymbols.h index 524fab106e1..a4586541ce6 100644 --- a/libjava/java/text/DateFormatSymbols.h +++ b/libjava/java/text/DateFormatSymbols.h @@ -16,6 +16,7 @@ extern "Java" namespace text { class DateFormatSymbols; + class DateFormatSymbols$DFSData; } } } @@ -25,8 +26,10 @@ class java::text::DateFormatSymbols : public ::java::lang::Object static JArray< ::java::lang::String * > * getStringArray(::java::util::List *, ::java::lang::String *, jint); static JArray< ::java::lang::String * > * getStringArray(::java::util::List *, ::java::lang::String *, jint, JArray< ::java::lang::String * > *); - JArray< JArray< ::java::lang::String * > * > * getZoneStrings(::java::util::ResourceBundle *, ::java::util::Locale *); - JArray< ::java::lang::String * > * formatsForKey(::java::util::ResourceBundle *, ::java::lang::String *); + static JArray< JArray< ::java::lang::String * > * > * getZoneStrings(::java::util::List *, ::java::util::Locale *); + static JArray< ::java::lang::String * > * formatsForKey(::java::util::List *, ::java::lang::String *); + static ::java::lang::String * getString(::java::util::List *, ::java::lang::String *); + static ::java::text::DateFormatSymbols$DFSData * retrieveData(::java::util::Locale *); public: DateFormatSymbols(::java::util::Locale *); DateFormatSymbols(); @@ -55,6 +58,11 @@ public: virtual jint hashCode(); static ::java::text::DateFormatSymbols * getInstance(); static ::java::text::DateFormatSymbols * getInstance(::java::util::Locale *); +private: + static ::java::util::Properties * properties; + static ::java::util::regex::Pattern * ZONE_SEP; + static ::java::util::regex::Pattern * FIELD_SEP; + static ::java::util::concurrent::ConcurrentMap * dataCache; public: // actually package-private JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms; JArray< ::java::lang::String * > * eras; @@ -66,7 +74,6 @@ public: // actually package-private JArray< ::java::lang::String * > * shortWeekdays; JArray< ::java::lang::String * > * weekdays; private: - static ::java::util::Properties * properties; JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings; JArray< JArray< ::java::lang::String * > * > * zoneStrings; static const jlong serialVersionUID = -5987973545549424702LL; diff --git a/libjava/java/util/TimeZone$1.h b/libjava/java/util/TimeZone$1.h index 4137030e0e9..35000eaeb66 100644 --- a/libjava/java/util/TimeZone$1.h +++ b/libjava/java/util/TimeZone$1.h @@ -14,6 +14,7 @@ class java::util::TimeZone$1 : public ::java::lang::Object public: // actually package-private TimeZone$1(); public: + virtual ::java::util::TimeZone * TimeZone$1$run(); virtual ::java::lang::Object * run(); static ::java::lang::Class class$; }; diff --git a/libjava/java/util/regex/Matcher.h b/libjava/java/util/regex/Matcher.h index bb59f883dae..b3944b08f2a 100644 --- a/libjava/java/util/regex/Matcher.h +++ b/libjava/java/util/regex/Matcher.h @@ -31,6 +31,7 @@ class java::util::regex::Matcher : public ::java::lang::Object public: // actually package-private Matcher(::java::util::regex::Pattern *, ::java::lang::CharSequence *); public: + ::java::util::regex::Matcher * usePattern(::java::util::regex::Pattern *); ::java::util::regex::Matcher * appendReplacement(::java::lang::StringBuffer *, ::java::lang::String *); ::java::lang::StringBuffer * appendTail(::java::lang::StringBuffer *); jint end(); diff --git a/libjava/javax/security/sasl/Sasl.h b/libjava/javax/security/sasl/Sasl.h index 16a0cf23d94..a34b499922a 100644 --- a/libjava/javax/security/sasl/Sasl.h +++ b/libjava/javax/security/sasl/Sasl.h @@ -53,6 +53,7 @@ public: static ::java::lang::String * POLICY_FORWARD_SECRECY; static ::java::lang::String * POLICY_PASS_CREDENTIALS; static ::java::lang::String * REUSE; + static ::java::lang::String * CREDENTIALS; private: static ::java::lang::String * CLIENT_FACTORY_SVC; static ::java::lang::String * SERVER_FACTORY_SVC; diff --git a/libjava/sources.am b/libjava/sources.am index 150b42b3c47..17dff3a10e1 100644 --- a/libjava/sources.am +++ b/libjava/sources.am @@ -4625,6 +4625,7 @@ classpath/java/lang/ArithmeticException.java \ classpath/java/lang/ArrayIndexOutOfBoundsException.java \ classpath/java/lang/ArrayStoreException.java \ classpath/java/lang/AssertionError.java \ +classpath/java/lang/AutoCloseable.java \ classpath/java/lang/Boolean.java \ classpath/java/lang/Byte.java \ classpath/java/lang/CharSequence.java \ @@ -4683,6 +4684,7 @@ java/lang/PosixProcess.java \ classpath/java/lang/Process.java \ classpath/java/lang/ProcessBuilder.java \ classpath/java/lang/Readable.java \ +classpath/java/lang/ReflectiveOperationException.java \ classpath/java/lang/Runnable.java \ java/lang/Runtime.java \ classpath/java/lang/RuntimeException.java \ |