From a1906e8bbfa426ed1adfe751608bc74f1d4d2ab7 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Wed, 19 Dec 2012 17:03:15 +0000 Subject: [PATCH] Import GNU Classpath (20121202). 2012-12-19 Matthias Klose 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 --- libjava/ChangeLog | 9 + libjava/classpath/ChangeLog | 974 ++++++++- libjava/classpath/ChangeLog.gcj | 5 + libjava/classpath/INSTALL | 9 +- libjava/classpath/Makefile.in | 18 +- libjava/classpath/NEWS | 25 +- libjava/classpath/THANKYOU | 4 + libjava/classpath/aclocal.m4 | 6 +- libjava/classpath/config.sub | 42 +- libjava/classpath/configure | 323 ++- libjava/classpath/configure.ac | 14 +- libjava/classpath/depcomp | 74 +- libjava/classpath/doc/Makefile.am | 6 +- libjava/classpath/doc/Makefile.in | 25 +- libjava/classpath/doc/api/Makefile.in | 8 +- libjava/classpath/doc/cp-tools.texinfo | 4 +- libjava/classpath/doc/texinfo.tex | 1872 ++++++----------- libjava/classpath/examples/Makefile.in | 8 +- libjava/classpath/external/Makefile.in | 8 +- libjava/classpath/external/jsr166/Makefile.in | 8 +- .../external/relaxngDatatype/Makefile.in | 8 +- libjava/classpath/external/sax/Makefile.in | 8 +- .../sax/org/xml/sax/ext/EntityResolver2.java | 2 +- .../sax/org/xml/sax/ext/Locator2Impl.java | 2 +- .../org/xml/sax/helpers/XMLReaderAdapter.java | 2 +- .../classpath/external/w3c_dom/Makefile.in | 8 +- .../classpath/gnu/java/nio/FileLockImpl.java | 5 + .../gnu/java/text/AttributedFormatBuffer.java | 61 +- .../classpath/gnu/java/text/FormatBuffer.java | 17 +- .../java/text/FormatCharacterIterator.java | 223 +- .../gnu/java/text/StringFormatBuffer.java | 19 +- .../midi/dssi/DSSIMidiDeviceProvider.java | 21 +- .../sound/midi/dssi/DSSISynthesizer.java | 27 +- .../javax/sound/midi/file/MidiFileReader.java | 4 +- .../javax/sound/midi/file/MidiFileWriter.java | 4 +- .../javax/sound/sampled/WAV/WAVReader.java | 6 +- .../sampled/gstreamer/GStreamerMixer.java | 4 +- .../gnu/xml/transform/SAXSerializer.java | 3 +- libjava/classpath/include/Makefile.in | 8 +- libjava/classpath/install-sh | 29 +- libjava/classpath/java/awt/geom/Area.java | 226 +- libjava/classpath/java/beans/XMLDecoder.java | 1 + libjava/classpath/java/beans/XMLEncoder.java | 4 +- libjava/classpath/java/io/Closeable.java | 1 + libjava/classpath/java/io/ObjectInput.java | 3 +- .../classpath/java/io/ObjectInputStream.java | 3 +- libjava/classpath/java/io/ObjectOutput.java | 3 +- .../classpath/java/lang/AssertionError.java | 14 +- .../classpath/java/lang/AutoCloseable.java | 50 + libjava/classpath/java/lang/Boolean.java | 15 + libjava/classpath/java/lang/Byte.java | 17 + libjava/classpath/java/lang/Character.java | 17 + .../java/lang/ClassNotFoundException.java | 6 +- .../java/lang/IllegalAccessException.java | 6 +- .../java/lang/InstantiationException.java | 6 +- libjava/classpath/java/lang/Integer.java | 17 + libjava/classpath/java/lang/LinkageError.java | 17 +- libjava/classpath/java/lang/Long.java | 17 + .../java/lang/NoSuchFieldException.java | 6 +- .../java/lang/NoSuchMethodException.java | 6 +- .../lang/ReflectiveOperationException.java | 88 + libjava/classpath/java/lang/Short.java | 17 + libjava/classpath/java/lang/String.java | 6 +- libjava/classpath/java/lang/System.java | 12 + .../reflect/InvocationTargetException.java | 6 +- .../classpath/java/lang/reflect/Member.java | 2 +- .../classpath/java/lang/reflect/Modifier.java | 42 +- .../classpath/java/nio/channels/FileLock.java | 1 + libjava/classpath/java/sql/Connection.java | 1 + libjava/classpath/java/sql/ResultSet.java | 1 + libjava/classpath/java/sql/Statement.java | 1 + .../classpath/java/text/AttributedString.java | 44 +- .../java/text/AttributedStringIterator.java | 43 +- libjava/classpath/java/text/Bidi.java | 26 +- .../classpath/java/text/BreakIterator.java | 4 +- libjava/classpath/java/text/ChoiceFormat.java | 8 +- .../java/text/CollationElementIterator.java | 73 +- .../java/text/DateFormatSymbols.java | 315 ++- .../classpath/java/text/DecimalFormat.java | 6 +- .../classpath/java/text/MessageFormat.java | 3 +- libjava/classpath/java/text/NumberFormat.java | 3 +- libjava/classpath/java/util/Collections.java | 32 +- libjava/classpath/java/util/Formatter.java | 21 +- libjava/classpath/java/util/TimeZone.java | 52 +- .../classpath/java/util/regex/Matcher.java | 24 +- .../activation/ActivationDataFlavor.java | 6 +- .../activation/MimeTypeParameterList.java | 2 +- .../management/DefaultLoaderRepository.java | 4 +- .../management/MBeanConstructorInfo.java | 2 +- .../management/remote/rmi/RMIConnection.java | 20 +- .../classpath/javax/security/sasl/Sasl.java | 10 + .../javax/sound/midi/MetaMessage.java | 6 +- .../javax/sound/midi/MidiDevice.java | 1 + .../javax/sound/midi/MidiSystem.java | 71 +- .../classpath/javax/sound/midi/Receiver.java | 1 + .../javax/sound/midi/SoundbankResource.java | 4 +- libjava/classpath/javax/sound/midi/Track.java | 12 +- .../javax/sound/midi/Transmitter.java | 1 + .../javax/sound/sampled/AudioSystem.java | 83 +- .../classpath/javax/sound/sampled/Line.java | 5 +- .../swing/tree/DefaultMutableTreeNode.java | 38 +- .../classpath/javax/swing/tree/TreeNode.java | 2 +- .../javax/xml/namespace/NamespaceContext.java | 2 +- .../javax/xml/stream/XMLEventFactory.java | 10 +- .../javax/xml/stream/XMLEventReader.java | 2 +- .../javax/xml/stream/events/DTD.java | 4 +- .../javax/xml/stream/events/EndElement.java | 2 +- .../javax/xml/stream/events/StartElement.java | 4 +- .../javax/xml/xpath/XPathFunction.java | 2 +- libjava/classpath/lib/Makefile.in | 8 +- .../gnu/java/beans/editors/ColorEditor.class | Bin 2251 -> 2251 bytes .../lib/gnu/java/locale/LocaleData.class | Bin 7402 -> 7402 bytes .../lib/gnu/java/nio/FileLockImpl.class | Bin 1125 -> 1233 bytes .../java/text/AttributedFormatBuffer.class | Bin 4282 -> 4924 bytes .../lib/gnu/java/text/FormatBuffer.class | Bin 752 -> 896 bytes .../java/text/FormatCharacterIterator.class | Bin 7254 -> 9268 bytes .../gnu/java/text/StringFormatBuffer.class | Bin 2445 -> 2733 bytes .../midi/dssi/DSSIMidiDeviceProvider$1.class | Bin 748 -> 748 bytes .../DSSIMidiDeviceProvider$DSSIInfo.class | Bin 897 -> 959 bytes .../midi/dssi/DSSIMidiDeviceProvider.class | Bin 3143 -> 3447 bytes .../DSSISynthesizer$DSSIMidiChannel.class | Bin 3148 -> 3148 bytes .../dssi/DSSISynthesizer$DSSIReceiver.class | Bin 1835 -> 1835 bytes .../dssi/DSSISynthesizer$DSSISoundbank.class | Bin 2595 -> 2819 bytes .../sound/midi/dssi/DSSISynthesizer.class | Bin 6391 -> 6612 bytes .../sampled/gstreamer/GStreamerMixer.class | Bin 4522 -> 4588 bytes .../lib/gnu/xml/transform/SAXSerializer.class | Bin 6494 -> 6526 bytes .../Area$AreaIterator$IteratorSegment.class | Bin 630 -> 630 bytes .../lib/java/awt/geom/Area$AreaIterator.class | Bin 2499 -> 2685 bytes .../lib/java/awt/geom/Area$CubicSegment.class | Bin 8483 -> 8483 bytes .../lib/java/awt/geom/Area$Intersection.class | Bin 722 -> 722 bytes .../lib/java/awt/geom/Area$LineSegment.class | Bin 5372 -> 5372 bytes .../lib/java/awt/geom/Area$QuadSegment.class | Bin 6187 -> 6187 bytes .../lib/java/awt/geom/Area$Segment.class | Bin 6182 -> 6350 bytes .../classpath/lib/java/awt/geom/Area.class | Bin 23671 -> 24352 bytes .../classpath/lib/java/beans/XMLDecoder.class | Bin 2926 -> 2957 bytes .../classpath/lib/java/beans/XMLEncoder.class | Bin 3443 -> 3474 bytes libjava/classpath/lib/java/io/Closeable.class | Bin 177 -> 208 bytes .../classpath/lib/java/io/ObjectInput.class | Bin 447 -> 478 bytes .../lib/java/io/ObjectInputStream$1.class | Bin 1152 -> 1152 bytes .../lib/java/io/ObjectInputStream$2.class | Bin 6167 -> 6167 bytes .../java/io/ObjectInputStream$GetField.class | Bin 1025 -> 1025 bytes ...jectInputStream$ValidatorAndPriority.class | Bin 786 -> 786 bytes .../lib/java/io/ObjectInputStream.class | Bin 30759 -> 30795 bytes .../classpath/lib/java/io/ObjectOutput.class | Bin 378 -> 409 bytes .../lib/java/lang/AssertionError.class | Bin 1646 -> 1841 bytes .../lib/java/lang/AutoCloseable.class | Bin 0 -> 187 bytes libjava/classpath/lib/java/lang/Boolean.class | Bin 2395 -> 2509 bytes libjava/classpath/lib/java/lang/Byte.class | Bin 3059 -> 3163 bytes .../java/lang/ClassNotFoundException.class | Bin 894 -> 913 bytes .../java/lang/IllegalAccessException.class | Bin 517 -> 536 bytes .../java/lang/InstantiationException.class | Bin 517 -> 536 bytes libjava/classpath/lib/java/lang/Integer.class | Bin 7295 -> 7387 bytes .../lib/java/lang/LinkageError.class | Bin 483 -> 663 bytes libjava/classpath/lib/java/lang/Long.class | Bin 7040 -> 7140 bytes .../lib/java/lang/NoSuchFieldException.class | Bin 511 -> 530 bytes .../lib/java/lang/NoSuchMethodException.class | Bin 514 -> 533 bytes .../lang/ReflectiveOperationException.class | Bin 0 -> 832 bytes libjava/classpath/lib/java/lang/Short.class | Bin 3265 -> 3369 bytes .../reflect/InvocationTargetException.class | Bin 985 -> 1004 bytes .../lib/java/lang/reflect/Member.class | Bin 341 -> 386 bytes .../lib/java/nio/channels/FileLock.class | Bin 1809 -> 1840 bytes .../classpath/lib/java/sql/Connection.class | Bin 2469 -> 2500 bytes .../classpath/lib/java/sql/ResultSet.class | Bin 7255 -> 7286 bytes .../classpath/lib/java/sql/Statement.class | Bin 2029 -> 2060 bytes .../AttributedString$AttributeRange.class | Bin 689 -> 1023 bytes .../lib/java/text/AttributedString.class | Bin 5889 -> 6341 bytes .../java/text/AttributedStringIterator.class | Bin 5288 -> 6136 bytes libjava/classpath/lib/java/text/Bidi.class | Bin 10825 -> 10884 bytes .../lib/java/text/BreakIterator.class | Bin 4752 -> 4818 bytes .../lib/java/text/ChoiceFormat.class | Bin 5857 -> 5992 bytes .../java/text/CollationElementIterator.class | Bin 5555 -> 5720 bytes .../java/text/DateFormatSymbols$DFSData.class | Bin 0 -> 2183 bytes .../lib/java/text/DateFormatSymbols.class | Bin 11437 -> 13323 bytes .../lib/java/text/DecimalFormat.class | Bin 25204 -> 25276 bytes libjava/classpath/lib/java/text/Format.class | Bin 2009 -> 2121 bytes .../lib/java/text/MessageFormat$Field.class | Bin 1206 -> 1206 bytes .../lib/java/text/MessageFormat.class | Bin 12313 -> 12425 bytes .../lib/java/text/NumberFormat$Field.class | Bin 2128 -> 2128 bytes .../lib/java/text/NumberFormat.class | Bin 9372 -> 9372 bytes .../lib/java/text/SimpleDateFormat.class | Bin 18466 -> 18458 bytes .../Collections$1$SynchronizedMapEntry.class | Bin 2229 -> 2229 bytes .../lib/java/util/Collections$1.class | Bin 1138 -> 1138 bytes .../lib/java/util/Collections$2.class | Bin 1212 -> 1212 bytes .../lib/java/util/Collections$3.class | Bin 1605 -> 1605 bytes .../lib/java/util/Collections$4.class | Bin 1640 -> 1640 bytes .../lib/java/util/Collections$5.class | Bin 1708 -> 1708 bytes .../lib/java/util/Collections$6.class | Bin 1553 -> 1553 bytes .../lib/java/util/Collections$7.class | Bin 1844 -> 1844 bytes .../lib/java/util/Collections$8.class | Bin 889 -> 889 bytes .../lib/java/util/Collections$9.class | Bin 930 -> 930 bytes .../util/Collections$CheckedCollection.class | Bin 3874 -> 3874 bytes .../util/Collections$CheckedIterator.class | Bin 1272 -> 1272 bytes .../java/util/Collections$CheckedList.class | Bin 3930 -> 3930 bytes .../Collections$CheckedListIterator.class | Bin 2091 -> 2091 bytes ...llections$CheckedMap$CheckedEntrySet.class | Bin 1810 -> 1810 bytes .../java/util/Collections$CheckedMap.class | Bin 5166 -> 5166 bytes .../Collections$CheckedRandomAccessList.class | Bin 985 -> 985 bytes .../java/util/Collections$CheckedSet.class | Bin 1318 -> 1318 bytes .../util/Collections$CheckedSortedMap.class | Bin 2368 -> 2368 bytes .../util/Collections$CheckedSortedSet.class | Bin 2174 -> 2174 bytes .../java/util/Collections$CopiesList.class | Bin 2721 -> 2721 bytes .../lib/java/util/Collections$EmptyList.class | Bin 2671 -> 2671 bytes .../lib/java/util/Collections$EmptyMap.class | Bin 2184 -> 2184 bytes .../lib/java/util/Collections$EmptySet.class | Bin 2422 -> 2422 bytes .../lib/java/util/Collections$LIFOQueue.class | Bin 2279 -> 2279 bytes .../lib/java/util/Collections$MapSet.class | Bin 2571 -> 2571 bytes .../util/Collections$ReverseComparator.class | Bin 1024 -> 1024 bytes .../java/util/Collections$SingletonList.class | Bin 3063 -> 3064 bytes .../java/util/Collections$SingletonMap.class | Bin 3012 -> 3012 bytes .../java/util/Collections$SingletonSet.class | Bin 2438 -> 2438 bytes .../Collections$SynchronizedCollection.class | Bin 4000 -> 4000 bytes .../Collections$SynchronizedIterator.class | Bin 1366 -> 1366 bytes .../util/Collections$SynchronizedList.class | Bin 3903 -> 3903 bytes ...Collections$SynchronizedListIterator.class | Bin 2061 -> 2061 bytes .../util/Collections$SynchronizedMap.class | Bin 4820 -> 4820 bytes ...ections$SynchronizedRandomAccessList.class | Bin 1488 -> 1488 bytes .../util/Collections$SynchronizedSet.class | Bin 1583 -> 1583 bytes .../Collections$SynchronizedSortedMap.class | Bin 2637 -> 2637 bytes .../Collections$SynchronizedSortedSet.class | Bin 2603 -> 2603 bytes .../Collections$UnmodifiableCollection.class | Bin 3127 -> 3127 bytes .../Collections$UnmodifiableIterator.class | Bin 1182 -> 1182 bytes .../util/Collections$UnmodifiableList.class | Bin 3204 -> 3204 bytes ...Collections$UnmodifiableListIterator.class | Bin 1776 -> 1776 bytes ...ifiableEntrySet$UnmodifiableMapEntry.class | Bin 2223 -> 2223 bytes ...UnmodifiableMap$UnmodifiableEntrySet.class | Bin 2441 -> 2441 bytes .../util/Collections$UnmodifiableMap.class | Bin 3798 -> 3798 bytes ...ections$UnmodifiableRandomAccessList.class | Bin 910 -> 910 bytes .../util/Collections$UnmodifiableSet.class | Bin 1226 -> 1226 bytes .../Collections$UnmodifiableSortedMap.class | Bin 2131 -> 2131 bytes .../Collections$UnmodifiableSortedSet.class | Bin 2058 -> 2058 bytes .../classpath/lib/java/util/Collections.class | Bin 21874 -> 21862 bytes .../classpath/lib/java/util/Formatter.class | Bin 17810 -> 17869 bytes .../classpath/lib/java/util/TimeZone$1.class | Bin 1026 -> 1182 bytes .../classpath/lib/java/util/TimeZone.class | Bin 31322 -> 32132 bytes .../lib/java/util/regex/Matcher.class | Bin 7507 -> 7772 bytes .../lib/javax/security/sasl/Sasl.class | Bin 6585 -> 6652 bytes .../lib/javax/sound/midi/MetaMessage.class | Bin 2002 -> 2012 bytes .../javax/sound/midi/MidiDevice$Info.class | Bin 1283 -> 1283 bytes .../lib/javax/sound/midi/MidiDevice.class | Bin 621 -> 652 bytes .../lib/javax/sound/midi/MidiSystem.class | Bin 8292 -> 8977 bytes .../lib/javax/sound/midi/Receiver.class | Bin 248 -> 279 bytes .../javax/sound/midi/SoundbankResource.class | Bin 1130 -> 1138 bytes .../lib/javax/sound/midi/Track.class | Bin 2021 -> 2152 bytes .../lib/javax/sound/midi/Transmitter.class | Bin 251 -> 282 bytes .../lib/javax/sound/sampled/AudioSystem.class | Bin 12598 -> 13183 bytes .../lib/javax/sound/sampled/Line$Info.class | Bin 995 -> 1003 bytes .../lib/javax/sound/sampled/Line.class | Bin 769 -> 800 bytes ...ableTreeNode$BreadthFirstEnumeration.class | Bin 1664 -> 1664 bytes ...MutableTreeNode$PostorderEnumeration.class | Bin 2190 -> 2228 bytes ...tMutableTreeNode$PreorderEnumeration.class | Bin 2076 -> 2160 bytes libjava/classpath/m4/ac_prog_javac.m4 | 2 +- libjava/classpath/m4/acinclude.m4 | 2 + libjava/classpath/m4/lib-ld.m4 | 110 + libjava/classpath/m4/lib-link.m4 | 774 +++++++ libjava/classpath/m4/lib-prefix.m4 | 224 ++ libjava/classpath/missing | 53 +- libjava/classpath/native/Makefile.in | 8 +- libjava/classpath/native/fdlibm/Makefile.in | 8 +- libjava/classpath/native/jawt/Makefile.in | 8 +- libjava/classpath/native/jni/Makefile.in | 8 +- .../native/jni/classpath/Makefile.in | 8 +- .../native/jni/gconf-peer/Makefile.in | 8 +- .../native/jni/gstreamer-peer/Makefile.in | 8 +- .../classpath/native/jni/gtk-peer/Makefile.in | 8 +- .../gnu_java_awt_peer_gtk_GdkFontPeer.c | 6 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c | 2 +- .../classpath/native/jni/java-io/Makefile.in | 8 +- .../native/jni/java-io/java_io_VMConsole.c | 4 + .../native/jni/java-lang/Makefile.in | 8 +- .../native/jni/java-math/Makefile.in | 8 +- .../classpath/native/jni/java-net/Makefile.in | 8 +- .../classpath/native/jni/java-nio/Makefile.in | 8 +- .../native/jni/java-util/Makefile.in | 8 +- .../jni/java-util/java_util_VMTimeZone.c | 9 +- .../native/jni/midi-alsa/Makefile.in | 8 +- .../native/jni/midi-dssi/Makefile.in | 8 +- ...nu_javax_sound_midi_dssi_DSSISynthesizer.c | 15 +- .../native/jni/native-lib/Makefile.in | 8 +- .../classpath/native/jni/qt-peer/Makefile.in | 8 +- libjava/classpath/native/jni/xmlj/Makefile.in | 8 +- libjava/classpath/native/plugin/Makefile.in | 8 +- .../classpath/org/omg/CORBA/LocalObject.java | 2 +- .../org/omg/CORBA/portable/Delegate.java | 2 +- .../org/omg/CORBA/portable/InputStream.java | 2 +- .../org/omg/CORBA/portable/ObjectImpl.java | 2 +- .../omg/CORBA_2_3/portable/InputStream.java | 4 +- .../omg/CORBA_2_3/portable/OutputStream.java | 2 +- .../omg/DynamicAny/_DynAnyFactoryStub.java | 2 +- .../org/omg/DynamicAny/_DynAnyStub.java | 2 +- .../org/omg/DynamicAny/_DynArrayStub.java | 2 +- .../org/omg/DynamicAny/_DynEnumStub.java | 2 +- .../org/omg/DynamicAny/_DynFixedStub.java | 2 +- .../org/omg/DynamicAny/_DynSequenceStub.java | 2 +- .../org/omg/DynamicAny/_DynStructStub.java | 2 +- .../org/omg/DynamicAny/_DynUnionStub.java | 2 +- .../org/omg/DynamicAny/_DynValueStub.java | 2 +- .../PortableServer/_ServantActivatorStub.java | 2 +- .../PortableServer/_ServantLocatorStub.java | 2 +- libjava/classpath/resource/Makefile.in | 8 +- .../util/regex/MessagesBundle_it.properties | 2 +- libjava/classpath/scripts/Makefile.in | 8 +- libjava/classpath/scripts/classpath.spec.in | 2 +- libjava/classpath/tools/Makefile.in | 8 +- .../tools/classes/com/sun/javadoc/Doc.class | Bin 741 -> 849 bytes .../AbstractDoclet$DocletOptionGroup.class | Bin 2075 -> 2172 bytes .../AbstractDoclet$DocletOptionTag.class | Bin 3296 -> 3296 bytes .../AbstractDoclet$DocletOptionTaglet.class | Bin 4359 -> 0 bytes ...bstractDoclet$DocletOptionTagletPath.class | Bin 955 -> 0 bytes .../doclets/AbstractDoclet$IndexKey.class | Bin 1129 -> 1373 bytes .../AbstractDoclet$InterfaceRelation.class | Bin 663 -> 663 bytes .../doclets/AbstractDoclet$UsageType.class | Bin 1848 -> 2065 bytes .../tools/doclets/AbstractDoclet.class | Bin 27182 -> 28956 bytes .../tools/doclets/PackageMatcher.class | Bin 2907 -> 3230 bytes .../doclets/htmldoclet/HtmlDoclet$1.class | Bin 1205 -> 1205 bytes .../doclets/htmldoclet/HtmlDoclet$2.class | Bin 1207 -> 1207 bytes .../doclets/htmldoclet/HtmlDoclet$3.class | Bin 1401 -> 1401 bytes .../htmldoclet/HtmlDoclet$TreeNode.class | Bin 1088 -> 1435 bytes .../tools/doclets/htmldoclet/HtmlDoclet.class | Bin 79930 -> 81614 bytes .../tools/gjdoc/BlockSourceComponent.class | Bin 629 -> 629 bytes .../classpath/tools/gjdoc/BracketClose.class | Bin 862 -> 862 bytes .../tools/gjdoc/ClassComponent.class | Bin 2610 -> 2610 bytes .../classpath/tools/gjdoc/ClassDocImpl.class | Bin 25782 -> 26937 bytes .../classpath/tools/gjdoc/ClassDocProxy.class | Bin 7577 -> 7652 bytes .../tools/gjdoc/ClassDocReflectedImpl.class | Bin 8685 -> 8760 bytes .../tools/gjdoc/CommentComponent.class | Bin 1517 -> 1517 bytes .../gnu/classpath/tools/gjdoc/DocImpl.class | Bin 19116 -> 19208 bytes .../tools/gjdoc/EmptyStatementComponent.class | Bin 612 -> 612 bytes .../tools/gjdoc/ExecutableMemberDocImpl.class | Bin 9289 -> 9315 bytes .../tools/gjdoc/FieldComponent.class | Bin 3110 -> 3267 bytes .../classpath/tools/gjdoc/FieldDocImpl.class | Bin 8266 -> 8628 bytes .../tools/gjdoc/FunctionComponent.class | Bin 2992 -> 3194 bytes .../gjdoc/IgnoredFileParseException.class | Bin 357 -> 357 bytes .../tools/gjdoc/ImportComponent.class | Bin 1226 -> 1226 bytes .../gnu/classpath/tools/gjdoc/Main$1.class | Bin 825 -> 928 bytes .../gnu/classpath/tools/gjdoc/Main$10.class | Bin 1221 -> 1221 bytes .../gnu/classpath/tools/gjdoc/Main$11.class | Bin 1728 -> 1728 bytes .../gnu/classpath/tools/gjdoc/Main$12.class | Bin 1799 -> 1799 bytes .../gnu/classpath/tools/gjdoc/Main$13.class | Bin 1800 -> 1799 bytes .../gnu/classpath/tools/gjdoc/Main$14.class | Bin 1002 -> 929 bytes .../gnu/classpath/tools/gjdoc/Main$15.class | Bin 924 -> 923 bytes .../gnu/classpath/tools/gjdoc/Main$16.class | Bin 1715 -> 1715 bytes .../gnu/classpath/tools/gjdoc/Main$17.class | Bin 828 -> 828 bytes .../gnu/classpath/tools/gjdoc/Main$18.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$19.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$2.class | Bin 767 -> 767 bytes .../gnu/classpath/tools/gjdoc/Main$20.class | Bin 1382 -> 1382 bytes .../gnu/classpath/tools/gjdoc/Main$21.class | Bin 1401 -> 1400 bytes .../gnu/classpath/tools/gjdoc/Main$22.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$23.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$24.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$25.class | Bin 809 -> 809 bytes .../gnu/classpath/tools/gjdoc/Main$3.class | Bin 767 -> 767 bytes .../gnu/classpath/tools/gjdoc/Main$4.class | Bin 767 -> 767 bytes .../gnu/classpath/tools/gjdoc/Main$5.class | Bin 767 -> 767 bytes .../gnu/classpath/tools/gjdoc/Main$6.class | Bin 806 -> 806 bytes .../gnu/classpath/tools/gjdoc/Main$7.class | Bin 825 -> 825 bytes .../gnu/classpath/tools/gjdoc/Main$8.class | Bin 825 -> 825 bytes .../gnu/classpath/tools/gjdoc/Main$9.class | Bin 806 -> 926 bytes .../tools/gjdoc/Main$OptionProcessor.class | Bin 727 -> 727 bytes .../gnu/classpath/tools/gjdoc/Main.class | Bin 29338 -> 28819 bytes .../classpath/tools/gjdoc/MemberDocImpl.class | Bin 5337 -> 5343 bytes .../tools/gjdoc/PackageComponent.class | Bin 1142 -> 1142 bytes .../tools/gjdoc/PackageDocImpl.class | Bin 5798 -> 6230 bytes .../gnu/classpath/tools/gjdoc/Parser$1.class | Bin 1669 -> 1669 bytes .../tools/gjdoc/Parser$Context.class | Bin 1209 -> 1510 bytes .../gnu/classpath/tools/gjdoc/Parser.class | Bin 13190 -> 13661 bytes .../classpath/tools/gjdoc/RootDocImpl.class | Bin 20655 -> 20857 bytes .../gjdoc/SlashSlashCommentComponent.class | Bin 556 -> 556 bytes .../tools/gjdoc/SourceComponent.class | Bin 787 -> 787 bytes .../tools/gjdoc/StaticBlockComponent.class | Bin 1030 -> 1030 bytes .../classpath/tools/gjdoc/Whitespace.class | Bin 591 -> 591 bytes .../tools/gjdoc/expr/Evaluator.class | Bin 3343 -> 3589 bytes .../gjdoc/expr/EvaluatorEnvironment.class | Bin 378 -> 482 bytes .../gnu/classpath/tools/gjdoc/expr/Type.class | Bin 1204 -> 1324 bytes .../rmic/ClassRmicCompiler$MethodRef.class | Bin 2719 -> 2976 bytes .../tools/rmic/ClassRmicCompiler.class | Bin 30526 -> 31874 bytes .../gnu/classpath/tools/rmic/Main.class | Bin 6058 -> 6165 bytes .../tools/rmic/SourceGiopRmicCompiler.class | Bin 12269 -> 13494 bytes .../gnu/classpath/tools/rmic/Variables.class | Bin 3290 -> 3583 bytes .../classpath/tools/com/sun/javadoc/Doc.java | 4 +- .../tools/doclets/AbstractDoclet.java | 205 +- .../tools/doclets/PackageMatcher.java | 12 +- .../tools/doclets/htmldoclet/HtmlDoclet.java | 122 +- .../classpath/tools/gjdoc/ClassDocImpl.java | 52 +- .../classpath/tools/gjdoc/ClassDocProxy.java | 11 +- .../tools/gjdoc/ClassDocReflectedImpl.java | 25 +- .../gnu/classpath/tools/gjdoc/DocImpl.java | 6 +- .../tools/gjdoc/ExecutableMemberDocImpl.java | 12 +- .../classpath/tools/gjdoc/FieldDocImpl.java | 13 +- .../tools/gnu/classpath/tools/gjdoc/Main.java | 122 +- .../classpath/tools/gjdoc/MemberDocImpl.java | 12 +- .../classpath/tools/gjdoc/PackageDocImpl.java | 26 +- .../gnu/classpath/tools/gjdoc/Parser.java | 148 +- .../classpath/tools/gjdoc/RootDocImpl.java | 10 +- .../classpath/tools/gjdoc/expr/Evaluator.java | 6 +- .../gjdoc/expr/EvaluatorEnvironment.java | 6 +- .../gnu/classpath/tools/gjdoc/expr/Type.java | 6 +- .../tools/rmic/ClassRmicCompiler.java | 126 +- .../tools/gnu/classpath/tools/rmic/Main.java | 6 +- .../tools/rmic/RmiMethodGenerator.java | 8 +- .../tools/rmic/SourceGiopRmicCompiler.java | 58 +- .../gnu/classpath/tools/rmic/Variables.java | 27 +- .../gnu/classpath/tools/gjdoc/dtd/dbcentx.mod | 2 +- .../tools/gjdoc/dtd/ent/iso-amsa.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-amsb.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-amsc.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-amsn.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-amso.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-amsr.ent | 2 +- .../classpath/tools/gjdoc/dtd/ent/iso-box.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-cyr1.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-cyr2.ent | 2 +- .../classpath/tools/gjdoc/dtd/ent/iso-dia.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-grk1.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-grk2.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-grk3.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-grk4.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-lat1.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-lat2.ent | 2 +- .../classpath/tools/gjdoc/dtd/ent/iso-num.ent | 2 +- .../classpath/tools/gjdoc/dtd/ent/iso-pub.ent | 2 +- .../tools/gjdoc/dtd/ent/iso-tech.ent | 2 +- libjava/gcj/javaprims.h | 2 + libjava/gnu/java/nio/FileLockImpl.h | 1 + libjava/gnu/java/nio/FileLockImpl.java | 5 + .../gnu/java/text/AttributedFormatBuffer.h | 8 +- libjava/gnu/java/text/FormatBuffer.h | 2 +- .../gnu/java/text/FormatCharacterIterator.h | 8 +- libjava/gnu/java/text/StringFormatBuffer.h | 2 +- .../dssi/DSSIMidiDeviceProvider$DSSIInfo.h | 5 +- libjava/java/awt/geom/Area.h | 2 +- libjava/java/lang/AssertionError.h | 1 + libjava/java/lang/AutoCloseable.h | 19 + libjava/java/lang/Boolean.h | 1 + libjava/java/lang/Byte.h | 1 + libjava/java/lang/ClassNotFoundException.h | 6 +- libjava/java/lang/IllegalAccessException.h | 4 +- libjava/java/lang/InstantiationException.h | 4 +- libjava/java/lang/Integer.h | 1 + libjava/java/lang/LinkageError.h | 1 + libjava/java/lang/Long.h | 1 + libjava/java/lang/NoSuchFieldException.h | 4 +- libjava/java/lang/NoSuchMethodException.h | 4 +- .../java/lang/ReflectiveOperationException.h | 25 + libjava/java/lang/Short.h | 1 + .../lang/reflect/InvocationTargetException.h | 6 +- libjava/java/nio/channels/FileLock.h | 1 + libjava/java/text/CollationElementIterator.h | 4 +- libjava/java/text/DateFormatSymbols$DFSData.h | 53 + libjava/java/text/DateFormatSymbols.h | 13 +- libjava/java/util/TimeZone$1.h | 1 + libjava/java/util/regex/Matcher.h | 1 + libjava/javax/security/sasl/Sasl.h | 1 + libjava/sources.am | 2 + 454 files changed, 5224 insertions(+), 2925 deletions(-) create mode 100644 libjava/classpath/java/lang/AutoCloseable.java create mode 100644 libjava/classpath/java/lang/ReflectiveOperationException.java create mode 100644 libjava/classpath/lib/java/lang/AutoCloseable.class create mode 100644 libjava/classpath/lib/java/lang/ReflectiveOperationException.class create mode 100644 libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class create mode 100644 libjava/classpath/m4/lib-ld.m4 create mode 100644 libjava/classpath/m4/lib-link.m4 create mode 100644 libjava/classpath/m4/lib-prefix.m4 delete mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class delete mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class create mode 100644 libjava/java/lang/AutoCloseable.h create mode 100644 libjava/java/lang/ReflectiveOperationException.h create mode 100644 libjava/java/text/DateFormatSymbols$DFSData.h 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 + + 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 * 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 +2012-11-02 Andrew John Hughes - * 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 + + PR classpath/55140 + * NEWS: List fix. + * java/lang/String.java: + (codePointBefore(int)): Fix index check to match spec. + +2012-10-16 Ivan Maidanski + + * 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 + + PR classpath/41689 + * javax/security/sasl/Sasl.java: + (CREDENTIALS): Add missing field. + * NEWS: Updated. + +2012-10-26 Andrew John Hughes + + * NEWS: Updated with latest bug fixes. + * THANKYOU: Add bug authors. + +2010-05-20 Paul Viney + + 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 + + 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 + + PR classpath/54960 + * gnu/xml/transform/SAXSerializer.java: + (getValue(String)): Avoid NullPointerException. + +2012-10-26 Andrew John Hughes + + * 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 + + * 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 + + 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 + + * 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 + + * java/lang/String.java: + (codePointAt(int))): Fix exception type. + (codePointBefore(int)): Fix exception type. + +2011-07-20 Ivan Maidanski + + * 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 + + * 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 + + * 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/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 + + 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 + + * 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 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-03-08 Andrew John Hughes +2012-08-09 Andrew John Hughes - * NEWS: Set correct release date. - * configure.ac: Bump to 0.99 proper. + * 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 + + 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 + + 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,Locale)): + Make static so it can be called by retrieveData. + (formatsForKey(List,String)): + Likewise. + (getString(List, 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 + + * java/text/DateFormatSymbols.java: + (getZoneStrings(List, Locale)): + Refactor to use existing list of resource bundles. + (formatsForKey(List, String)): + Likewise and use new local getString method. + (getString(List, 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 + + * 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 + + * java/text/DateFormatSymbols.java: + Rename U00AE and U000A9 as the more memorable + FIELD_SPLIT and ZONE_SPLIT respectively. + * THANKYOU: Add Andreas Sewe. + +2012-04-30 Andreas Sewe + + 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 + + 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 + + * 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 + + * .gitignore: Renamed from .cvsignore. + +2012-01-01 Jakub Jelinek + + * 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 + + * java/util/TimeZone.java (getDefaultDisplayName): Don't + check if TimeZone is instanceof SimpleTimeZone. + +2006-09-13 Andrew Haley + + * java/util/PriorityQueue.java: Throw IllegalArgumentException for + capacity < 1. + (Iterator.remove()): Decrement index after removing element. + +2007-02-14 Jakub Jelinek + Andrew Haley + + * java/util/TimeZone.java (getDateParams): Negate dayOfWeek. + +2012-03-22 Andrew John Hughes + + * java/util/regex/Matcher.java: + (usePattern(Pattern)): Implemented. + +2012-03-25 Gerald Pfeifer + + PR libgcj/52694 + * native/jni/java-io/java_io_VMConsole.c (IUCLC): Define, if + undefined. + +2012-03-16 Andrew John Hughes + + * NEWS: Add key along the same lines + as IcedTea. + +2012-03-12 Pekka Enberg + + * 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 + + * 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 + + * 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 + + * java/lang/AssertionError.java: + (AssertionError): Add missing constructor. + * java/lang/LinkageError.java: + (LinkageError): Add missing constructor. + +2012-03-12 Pekka Enberg + + * 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 + + * java/lang/System.java: + (lineSeparator): Add missing method. + +2012-03-12 Pekka Enberg + + * java/lang/reflect/Member.java: + (getDeclaringClass): Fix return type. + +2012-03-07 Andrew John Hughes + + * NEWS: + Add section for 1.0 release. + * configure.ac: + Bump to 1.0pre. 2012-03-07 Andrew John Hughes 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 + + * 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 * 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 `' 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 . # # 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 . # @@ -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 &5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi +case `$LD -v 2>&1 &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,21 +18222,51 @@ 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 @@ -18173,20 +18283,43 @@ 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 @@ -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: ." _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 . @@ -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. +% 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). -% #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 +% 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 ranges; + private final ArrayList> attributes; + private int[] aRanges; + private List> 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(); + this.attributes = new ArrayList>(); 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 map; if (attr != null) { - map = new HashMap(); + map = new HashMap(); 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> 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>(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> 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> 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> 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>(0); } /** @@ -87,12 +90,13 @@ public class FormatCharacterIterator implements AttributedCharacterIterator *
    *   s = "hello";
    *   ranges = new int[] { 2, 6 };
-   *   attributes = new HashMap[2];
+   *   attributes = new ArrayList>(2);
    * 
- * "he" will have the attributes attributes[0], - * "llo" the attributes[1]. + * "he" will have the attributes attributes.get(0), + * "llo" the attributes.get(1). */ - public FormatCharacterIterator (String s, int[] ranges, HashMap[] attributes) + public FormatCharacterIterator (String s, int[] ranges, + List> 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 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(); } - public Map getAttributes() + public Map 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(); } - 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 reqAttrs) { if (attributes == null) return formattedString.length(); int currentAttrIndex = attributeIndex; - Set newKeys; + Set newKeys; do { currentAttrIndex++; - if (currentAttrIndex == attributes.length) + if (currentAttrIndex == attributes.size()) return formattedString.length(); - if (attributes[currentAttrIndex] == null) + Map 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 s = new HashSet(); 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 reqAttrs) { if (attributes == null) return formattedString.length(); int currentAttrIndex = attributeIndex; - Set newKeys = null; + Set newKeys = null; do { @@ -187,9 +193,11 @@ public class FormatCharacterIterator implements AttributedCharacterIterator return 0; currentAttrIndex--; - if (attributes[currentAttrIndex] == null) + Map 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 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 s = new HashSet(); 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 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> attributes, + int[] ranges) { - Vector new_ranges = new Vector(); - Vector new_attributes = new Vector(); + List newRanges = new ArrayList(); + List> newAttributes = + new ArrayList>(); 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 moreRanges = new ArrayList(); + List> moreAttributes = + new ArrayList>(); 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> newAttributes = + new ArrayList>(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 null the string will simply have no * attributes. */ - public void append (String text, HashMap local_attributes) + public void append (String text, HashMap 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> newAttributes = + new ArrayList>(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(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 null. * * @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 attributes, + int rangeStart, int rangeEnd) { - if (range_start == 0) - mergeAttributes(new HashMap[] { attributes }, new int[] { range_end }); + List> mergeAttribs = new ArrayList>(); + 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(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 keyset = attributes.get(i).keySet(); if (keyset != null) { - Iterator keys = keyset.iterator(); + Iterator 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> 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 examineLibrary(String soname) { - List list = new ArrayList(); + List list = new ArrayList(); 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 ilist = new ArrayList(); 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 instruments = new ArrayList(); + private List resources = new ArrayList(); 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 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 soundbanks = new ArrayList(); DSSISoundbank defaultSoundbank; /** @@ -616,17 +614,16 @@ public class DSSISynthesizer implements Synthesizer */ public Instrument[] getAvailableInstruments() { - List instruments = new ArrayList(); - Iterator itr = soundbanks.iterator(); + List instruments = new ArrayList(); + Iterator 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 solids; /** * Segment vectors containing solid areas and holes * This is package-private to avoid an accessor method. */ - Vector holes; + Vector holes; /** * Vector (temporary) storing curve-curve intersections */ - private Vector cc_intersections; + private Vector 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(); + holes = new Vector(); } /** @@ -135,7 +135,7 @@ public class Area implements Shape, Cloneable { this(); - Vector p = makeSegment(s); + Vector 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 segments = new Vector(); 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 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 pathA = new Vector(); + Vector pathB = new Vector(); 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 paths = new Vector(); Segment v; // we have intersecting points. - Vector segments = new Vector(); + Vector segments = new Vector(); // 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 pathA = new Vector(); 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 pathB = new Vector(); 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 segments = new Vector(); // 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 paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -376,32 +369,28 @@ public class Area implements Shape, Cloneable if (equals(area)) return; - Vector pathA = new Vector(); + Vector pathA = new Vector(); Area B = (Area) area.clone(); pathA.addAll(solids); pathA.addAll(holes); - Vector pathB = new Vector(); + Vector pathB = new Vector(); 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 segments = new Vector(); // 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 paths = weilerAtherton(segments); deleteRedundantPaths(paths); } @@ -476,10 +465,10 @@ public class Area implements Shape, Cloneable return; } - Vector pathA = new Vector(); + Vector pathA = new Vector(); Area B = (Area) area.clone(); - Vector pathB = new Vector(); + Vector pathB = new Vector(); 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 segments = new Vector(); // 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 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(); + holes = new Vector(); } /** @@ -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 pathA = new Vector(); pathA.addAll(solids); pathA.addAll(holes); - Vector pathB = new Vector(); + Vector pathB = new Vector(); 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 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(); + Vector allpaths = new Vector(); 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 weilerAtherton(Vector segments) { - Vector paths = new Vector(); + Vector paths = new Vector(); 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(); 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 makeSegment(Shape s) { - Vector paths = new Vector(); + Vector paths = new Vector(); 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 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 solids = new Vector(); + Vector holes = new Vector(); 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 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 list = new Vector(); 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 v = new Vector(); 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 @@ -236,6 +236,21 @@ public final class Boolean implements Serializable, Comparable return value == other.value ? 0 : (value ? 1 : -1); } + /** + * 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 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 @@ -4199,6 +4199,23 @@ public final class Character implements Serializable, Comparable return value - anotherCharacter.value; } + /** + * 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 Character object wrapping the value. * In contrast to the Character constructor, this method 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 @@ -585,6 +585,23 @@ public final class Integer extends Number implements Comparable return value > i.value ? 1 : -1; } + /** + * 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 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 @@ -584,6 +584,23 @@ public final class Long extends Number implements Comparable return value > l.value ? 1 : -1; } + /** + * 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 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 @@ -372,6 +372,23 @@ public final class Short extends Number implements Comparable return value - s.value; } + /** + * 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 * index-2 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 @@ -712,6 +714,16 @@ public final class System return Console.console(); } + /** + * Returns the system-dependent line separator. + * + * @return the system-dependent line separator. + */ + public static String lineSeparator() + { + return LINE_SEPARATOR; + } + /** * This is a specialised Collection, providing * the necessary provisions for the collections used by the 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. @@ -299,6 +299,46 @@ public class Modifier return (mod & VOLATILE) != 0; } + /** + * @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: 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 String 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 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 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 attributes) + Map attributes) { this(str); @@ -178,7 +181,7 @@ public class AttributedString * null 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 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 accum = new ArrayList(); do { sb.append(c); - Iterator iter = allAttribs.iterator(); + Iterator 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 newMap = new Hashtable(); 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 null 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 hm = new HashMap(); hm.put(attrib, value); addAttributes(hm, begin, end); @@ -303,7 +303,7 @@ public class AttributedString * null. * @throws IllegalArgumentException if the subrange is not valid. */ - public void addAttributes(Map attributes, + public void addAttributes(Map attributes, int beginIndex, int endIndex) { if (attributes == null) @@ -343,8 +343,7 @@ public class AttributedString * * @return An AttributedCharacterIterator 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 AttributedCharacterIterator 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 getAllAttributeKeys() { - HashSet s = new HashSet(); + HashSet s = new HashSet(); 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 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 s = new HashSet(); s.add(attrib); return(getRunLimit(s)); } - public synchronized int getRunLimit(Set attributeSet) + public synchronized int getRunLimit(Set 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 runValues = getAttributes(); while (limit < end) { - Iterator iterator = attributeSet.iterator(); + Iterator 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 s = new HashSet(); 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 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 runValues = getAttributes(); int prev = start - 1; while (start > begin) { - Iterator iterator = attributeSet.iterator(); + Iterator 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 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 getAttributes() { - HashMap m = new HashMap(); + HashMap m = new HashMap(); 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 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(); 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 stringVec = new Vector (); + Vector limitVec = new Vector (); 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 CollationElementIterator @@ -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 aElement = new ArrayList(); + ArrayList aIdx = new ArrayList(); // 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 dataCache = new ConcurrentHashMap(); + + 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 bundles, Locale locale) { List allZones = new ArrayList(); try { Map systemZones = new HashMap(); - 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,16 +445,94 @@ 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 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 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 bundles = new ArrayList(); + 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 DateFormatSymbols * by loading the date format information for the specified locale. @@ -314,29 +549,17 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable public DateFormatSymbols (Locale locale) throws MissingResourceException { - ClassLoader ldr = ClassLoader.getSystemClassLoader(); - List bundles = new ArrayList(); - 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 attributes = new ArrayList(); /** * Constructs a DecimalFormat 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 Set emptySet() { - /* FIXME: Could this be optimized? */ - return new EmptySet(); + return (Set) 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 iterator() { return (Iterator) 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 List emptyList() { - /* FIXME: Could this be optimized? */ - return new EmptyList(); + return (List) 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 Map emptyMap() { - /* FIXME: Could this be optimized? */ - return new EmptyMap(); + return (Map) EMPTY_MAP; } /** @@ -511,9 +512,10 @@ public class Collections * There are no entries. * @return The empty set. */ + @SuppressWarnings("unchecked") public Set> entrySet() { - return EMPTY_SET; + return (Set>) 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 keySet() { - return EMPTY_SET; + return (Set) 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 values() { - return EMPTY_SET; + return (Collection) EMPTY_SET; } /** @@ -1854,7 +1858,7 @@ public class Collections public List 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[] toArray(T[] a) + public 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() { - 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 aliases0; /** * HashMap for timezones by ID. */ - private static HashMap timezones0; + private static HashMap timezones0; /* initialize this static field lazily to overhead if * it is not needed: */ // Package-private to avoid a trampoline. - static HashMap timezones() + static HashMap timezones() { if (timezones0 == null) { - HashMap timezones = new HashMap(); + HashMap timezones = new HashMap(); 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(); // 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 h = timezones(); int count = 0; if (zoneinfo_dir == null) { - Iterator iter = h.entrySet().iterator(); + Iterator> 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 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 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 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 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 list = new ArrayList(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> 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 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 @@ -102,6 +102,28 @@ public final class Matcher implements MatchResult anchoringBounds = 0; } + /** + * 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 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 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"; + /** + *

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.

+ * + *

The value of this constant is "javax.security.sasl.credentials".

+ */ + 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 deviceProviders = ServiceFactory.lookupProviders(MidiDeviceProvider.class); - List infoList = new ArrayList(); + List infoList = new ArrayList(); 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 events = new Vector(); // A HashSet to speed processing - private HashSet eventSet = new HashSet(); + private HashSet eventSet = new HashSet(); // 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 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 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 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); + Iterator 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 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 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 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 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 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 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(MixerProvider.class); + Iterator 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator 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 result = new HashSet(); - Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); + Iterator 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 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 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 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 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 children = (Enumeration) node.children(); while (children.hasMoreElements()) @@ -1100,11 +1100,13 @@ public class DefaultMutableTreeNode Stack> childrenEnums = new Stack>(); - @SuppressWarnings("unchecked") PreorderEnumeration(TreeNode node) { next = node; - childrenEnums.push((Enumeration) node.children()); + @SuppressWarnings("unchecked") + Enumeration children = + (Enumeration) node.children(); + childrenEnums.push(children); } public boolean hasMoreElements() @@ -1127,14 +1129,16 @@ public class DefaultMutableTreeNode return current; } - @SuppressWarnings("unchecked") private TreeNode traverse(Enumeration children) { // If more children are available step down. if (children.hasMoreElements()) { TreeNode child = children.nextElement(); - childrenEnums.push((Enumeration) child.children()); + @SuppressWarnings("unchecked") + Enumeration grandchildren = + (Enumeration) child.children(); + childrenEnums.push(grandchildren); return child; } @@ -1163,11 +1167,13 @@ public class DefaultMutableTreeNode Stack> childrenEnums = new Stack>(); - @SuppressWarnings("unchecked") PostorderEnumeration(TreeNode node) { nodes.push(node); - childrenEnums.push((Enumeration) node.children()); + @SuppressWarnings("unchecked") + Enumeration children = + (Enumeration) node.children(); + childrenEnums.push(children); } public boolean hasMoreElements() @@ -1185,7 +1191,6 @@ public class DefaultMutableTreeNode return traverse(children); } - @SuppressWarnings("unchecked") private TreeNode traverse(Enumeration children) { if (children.hasMoreElements()) @@ -1193,8 +1198,9 @@ public class DefaultMutableTreeNode TreeNode node = children.nextElement(); nodes.push(node); - Enumeration newChildren = - (Enumeration) node.children(); + @SuppressWarnings("unchecked") + Enumeration newChildren = + (Enumeration) 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 index ace906317905bd956ce0905193fd8332b3098b57..5d010e752bb8a8c828d25d26cfaa32f85580ef62 100644 GIT binary patch delta 36 qcmX>tcv^77RyJ`~22%zWAeLh=V=!beXK-V%V2Eb0+tcv^77RyJ`K22%zeAeLh=V=!beXK-V%V2Ea5-F$}aKO+E?NC(sa diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class index ccee011a4959d08ffa1a00eb4a1eaa39e92fe63e..64d83fd1a9dc4994b50fadd68669120352d0a0f7 100644 GIT binary patch delta 2664 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 diff --git a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class index ffb2da7509bc950de05dc822e565f529af958568..db38ad46e7503f8a2b2ade79a950c8bce1ef183b 100644 GIT binary patch delta 318 zcmY+7O-lk%7=@pEZJ4~=sFV;UQmajk=4jf7Wzfb=`_?sxh%#tkM7y@_UG+0WbkQPQ zw+Q+X{f+3&z-sfJ=j9yE`B;39o7d0h7of!1(0ID)G@@R=sWA2XM)T&j-Rt&U_7urZ zcozmy*lh)K$Djx-SvFltgPP7~%a%1NirCKX#kYHCNl`HrIkr?e89eH`az<}@TRr%A zXmYZ>Ajv#&p|X$?b^HnILjldQTq6os61-+b$o_;_B_W?;<6l*JR&|LpOJ$_0@Py~b n#w-bMO(}}(pUXLzaP+&9kbY?4(w2n|X`(-CnfcnOq%^fJED0>i delta 209 zcmcb}`ILj})W2Q(7#J7~8LT#PNij)qxmF~n7L;V>=M{4?Ff!=yFeor6vNPySj%CtO zFyLVjWiVu9VAjy|0?8WlFo-i4axv&KnDQ`~F_=$Y$>hq&viUueGGmD>gA@Z3gBH+e z7NANw22LO=lz|n( mnSmjRft?|RfrlX#XiPeT08oSnVhn>IPz3{!Z2=^i7%Tyz>mLaK diff --git a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class index d079038dc97869d389765be88deac035495a695e..dd989b6d98048a6b5862290f37786ea5fdf9af2b 100644 GIT binary patch literal 4924 zcmcInU36Sk75+|UCX-HYN`9IkowPI!Ei;p}v2AFpO{?ud%0SwbCZ?2z!p-C+nKGRT zckUEgtO^vBf)xZ*CE7iyc5bxnSYv%f`f;JG_WRqkg7p4D+9^!zF6Z)N zmc5-@Z7Q}(3N8KGPT9%jyLZ{Pd7?j8a=2m1U~ZydI%V5ZNG-Id*A;60nSx_YQ14D2 zjG1#jQTqdnoYW@wnp2*ls(7R)P20>mmYw0B=@jjo{8()dSaw50!(uvW9`L-XIh;{g zYWhbAr6B;t^KraNEi zleh}s$zg?Xx;SRV5JH=QPhh1&D3KhF;zos)izZ79tI#e-)+odifzS&>gVuv(tB|#} zCx@4S*=-<-x+vBuG%t`=F|0+K>`NM0f|#s24b;1<^#)pTy;$ou@JVc>e|f7g;Y@0z z8QHwqz;d+2xVpu_7Hm~8%&{?_WQr4+YmTGD=DPk|!P-|oHfq^J=4hTN-_&2sn)zYV z&dIkY3_FuKX41M!w5#|EmLu~qoX8}H#iN}Pzg_|USy|n{@|v~Y z-7HPAG-61jZ7KF36UFTc^_30$(ZC(JlfjuPI||!^%y>l+;L4LEuM`O<9~}O5PL0T^Nkwz#PnA-5VIf=U9Hn&3xG!7*}Ye;{j81?LncgU_Ip3K-koYA3A1E z2?6t5W9(Yz6L4Z`j)bB4TR)oa!DKV1rmRA>`)=E0b_V<<*ZP*_$;E5T-93J)^RCoGms%lstuN<<+diAl0* zvt@gKkqecRQck-`@Q}pfVd=T)l(c}eR>4LpWkwj?G^zt?di*}P@i(i@&I@VHEiaOp%LD}t{Ycv8A^xRg6- zNmqW#z;$SlpNi5X&Kmf-{9czUIK$Eqy!PX892PwW-4e{S-J6G@r<^%VJoK`L)9OqD!Un7l&xF{LD#94waYtksv3 z;S%?e&Aaw(kYwdd%M=Qhoz9!3l2wZ0HH8H)jEi)GC|*}st5g4KS;64>V9-uBL;Q zQ?rPtE@Rc9&RMLUMhDkx56$A{X(TGkR7y>wt8)e$Uc~h&c~4`LeydsZTtr=}hJs7f zSA%VQric)nnqg#!?GD6oC)S}Ko!E;_7{I5oAAK04bO@i~&Q=!-<=gp1RN8lzu1swY z@ogUBdW|+diygE0OvPkOtGJs1IuuY@@2jlGE{4NZxzba43(qK;i>4Z4v)Em&>|WI3 zh*oB}+dO4Wa`o|4yg|OgRI#<|J*>WrG(&gWzV%&QZ=o-QgQ+)>T0evSgBM}QTFIJ= zMEvL2FKaOw(ji+#mw`N$73f2eSf`i{C5Ez0bH_D|lxxcOX)A`cPc)B%Bw5m<1$Q$7 zA>2c40^5}w)@j8V;=vx~UZKC0U^cx>{z5|No9H07M>Hyz$R=&^B(Xh0O`oUsQ-SEV z`bb(~VwAcSdvn&ak)wqWZNyVuGZ;&W_DbSRN-V}I5pQMA1CR3g7&GQ^8amB9eL@>s z?W*yO#XVzG?YS*xkJ6l5BM;~d|2t3BQs;9LMf0DKO6qey>R@+(T?lYwCS?u6? z51z*Xynw^_ruJ#4i_Q0G#P?~0IvO-NBe1C_#P2~SLJO&AVf8qCMtpkdA9po#m&Bm# zg?@zRh2A!LM0%H1VUN$?_!T6-M3T?Z-ph>YD*=+*e2i^4fs?c#mLBme9ibf|dAUn6 z1EZB!vFoPMdE$PZ(fKa%UI;L|+_$jYvp{`5v%F7vw$9R$*y<7Ly1s|-CB7x6c8Hs8 zucBGr=U8gucNaTTs*`Oi)i$p;t??+gTA0vrN*npp6GkzAp*5hOA z(TI5aMu#p0X&tBV1rJ*{-_lAVV)-Xrxb;)3g|k|r+e9LsLWM8-tt~^hgsw&&?vOwF z6d#+xmn!w)wzs#L8NUp0)99mXYk)s~%?j;JkZg8qZZCyN+1^{GQSKfN=l7yV4(7WgoJo{)zMHL$dy7-s%4mi28&F zzlWJ1)hNurz`AxPYcLZ!sx#qlfhbfm;am9j0*B93AO6RJhhM}?44m8f&gsq6Ud4Hq>5~5dfmLYz literal 4282 zcmbVPTXY*&72Vg8EJq!;@sreY<2ZGVBs(@qoRC)&5;bm>x{0Y%2PLKHSf1DlvgD3N ziJj0#Af+Yr$)hEdM_H@j#p2mTZ5KkbSUk#F{J;VVlwbJfpC4eKJCo5wF=@kx=H9u! z_ndw9+2`ExZ~y(%%K$dwl_=^IdZvn%!IS1GbI`HooWZ@0W9KI-jx{-4vS&1{ZyQMVQ{Z)oAV?2vcnBA^9nR>YA}yq*#DtDz!2ZQ5qevFr?grc<(ee3}ILu6!}? z>{eKxc#kNP;|k$)Y0`=zgf#|QajQZoksOaAu5jCRDT<*3x5<&U3h{&s)1{K&#;ivw zRxxMoOpdRD!a4&{G(@ppp=AX!W9Y^j*>{J5Rfx&#g9dJLXGsIiXc2FH2Kupq@fED% zlryc7W@PiAfz@b=akkOGCTte^CntSM6t*NXH_W4ObIVA+XdSG~Oj!0|bE3cuHII~X zW?|g4^YZR3hMnm=HPBmSyCz>j5i&vHL?$^d5$zEEwh8cEGHX*0){B+r?DAxmN|Dl>I$lgzuugkwTiXA+%lwYgrCC( zK8gnvHV4sM*->Tte^jtyPMQP3dIuGTS1{-9tI6B->P!$S95rwZ4>H8E<=j;*T-~u0 zhCD|%Z1y1u{C|5`lb+5NiSPkq+SWe@H8$&@!6~Hu(A2FW6c=& z9G+oFrrb2S((JrKDkuWag4fT2Ml)5Osz$W=G>fHW^Q+>+3A8=E?ea&US`wQUG4qnK8lOH zAl}y@M&*NHR+v`)BD{i{WyxZ=@4vcX15ND&ew=N*BZ;B z9!Iq?!`8J<*2YEt7&_ZHI zwOrVKJ(%PCi=?}q?gzfge1#-|Z=j3091CD**7i>k$!S`eqg>_#Y_|J;+cAzKw5`~V zKj!(!(?f_p;weU-O^NlYP(Gew^x0~#?bI^xD4&l}A&=A16Ksa(w6k@t8Q)plb4Jr% zkmB~Z=k{INsHd&0=WuISyJ9}JgtkT&kl?yzyuU3n&=!8!h9BnRgssx8ug z`J4awOAz(7?6|Uil7;sayXDg?tP5C!XE1M`DGG! zF_6bjA5kZ!s5m!|dC${BULITBJdy@&ye5IJQocr%Undvepz2-?B(K%?(CT>rOW9SZ zlCKTV*K>?qG&9u4uoB-!_;rpVn>!`UPMVeR71oc$onW&`^|2GB*r@{TX1#8RukraU z^0+|mzJqo6E|T~@bMpfh>kk9ihJ0*88WFz+aXV|SiE%5|UBSaP$WgjOL_Gh96Sue3 z>%|{ygKl4lcm@?_{BD(DSW<9JJlrKe#uT4iLa|x`ZpV6)^8ZO7H%&geCjO`3b}atK z;9=V2VQTP9ey;}BTLD-NJ}iDhc;}Dn7=dm%A0ix%Jxj1T^vWP@zNVLVXc7N{S`6o+tdme!d=p+ff@Qt_%}n(smj2c1}sgi`rgY!P#z zT?^>o!dzTdslPKn$AKk0cIdoPvNXqH{kxnb>dIT#vxsx<%cnye&*{hIH}O=JZMSxR z$Ljh$L-+&kz@OO0-{FPxXI?|^u$%oA7T(1f{4J1;vtC$3REX51DB@W>=dl@7NLQ^w z{t;lOs*vZ|BHSA|czCY%@IO~P{383xwTI8u9{$$~hwJbKEtN0gOC05^|0TACuVB@G E0Y-0;1ONa4 diff --git a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class index aefba44845c96d8bd720fc4a2e229813341ca141..2d363eb7ce61e30b376c2a91cea4f8b4b25aa7de 100644 GIT binary patch delta 236 zcmeys+Q80r>ff$?3=9m04Du7X7GvtnIArHeR)6 zWR#vP$YjDI%gCTQxq(r2avqbuD9}=%OPLtBSQr^t8Mql3K=kBIOe#u1hA4v=SW+BJ UN-#(QX)Xpv1}O#^1~~>!0FSIZ1poj5 delta 139 zcmZo*|G>(1>ff$?3=9m046+ls7HMj0_+%xPCFc$1++ovPd#A=uf`Lq&oRNBNsC}gY@KcOyQyoEQ}1S44e!QnhQ*GPqt!K dkz!zC5Cz)B#305X4y3sl7#SoOq!?rvI04~Z9h?9F diff --git a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class index 5942a8b50b334c5a0f085c7ff2559a38a55226ab..064e10a57b6b0c7f11f95841e3753c4328d49360 100644 GIT binary patch literal 9268 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 literal 7254 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 diff --git a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class index a186739030b60d3617e2892fa6d0808a39e0220b..9810143f1356f91a37dbed658925efbc90fae4c8 100644 GIT binary patch delta 969 zcma))+fEZv6o&sj)0uW^i8Q3t17b+To`A7L6zOO%`i#f1l7I^f7)FverGk>CQx*zx z{F_vemMB{0LvlgNQ?$a@<>{jW!n7v=5e(6{!QaRMzlb2kUdjSDNLk`v-4M*93$fYN9G;r zoCk6G8C+9FRv4Da)fs4x?ky6k^>SA|`hP2G^;R6!m0(x#L-s3afM#$ zonzxJ>X;BP*LxfHw^s$UTz)>Pyz1f_8Ai{Xb#Wcjv}IKFmSA?zI72^msad!|zl|48 z89FLBgeq;Cp;O~i9S$bws~H+ijwZ>o!t@MBvpC9woPFF*EEYqHSB3D5*CQ8Z) zU=%*0{DIN_5GG#(9coHnj8VhMW@?$0T{M!CE4=g`FFhEoBdetNOUBY8v9!(7{w`{7 z6Y6X9TzU%vP1fiyzrx+4zD`7F2ejLOjZL)|w_k|R3J!5bfNJ9T-0t|yLUlM zTZF<~Ifu=iI<4p^}?Ya$I*2g95R?U!;U zrl2QdcB7`F;Ith*@Lgq@p%Gh+Dh(7*2pO3hpU(XZe6VYhxc><3|Y zPhbRLyYnQF6M@S;4~T^$0JdWW5a+l!D}|Mn2O(JWarwQ z!A(DS7zVvCu4;$+il7lWjrdK=>s3KHYL(+3&3V?CigqFrGm($^!6N3^y>gnUZf$dG z+tWW_*F0l_V$D?(OpiIyFheXsC!W#SLJ{Yf!v$uk9PujM>|NG`&GVb2YyqlCdm?%i lGbvjnOHR3IEF)z}FvZO>I}J-%W-XBkDp+OI4A!s?^B)2+F+2bO diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class index dec2b5f668206c1f18454e3a7c58d4c6db89d555..3d8fe9a8414f0bffb9a1a1eda366615b3aa948c9 100644 GIT binary patch delta 1209 zcmYjQ-E$LF96h^DHoKd33e^cD)J{qVsfkjWI(FJZZ2>9OP(MJkH;C z?TCdm#zlvBqc&k-5KoB_?|^BHsb8=Wr^o}IOEbQ>Vj4;SgVi*(mT`t2e;c9BU?#l%C{3>D9lt4P4$vz_o$9mrJ?N>pnz3*R-cocapoLekuhSFo$Q5l7eF4u34s`1hUhFm`9PBnFyxi@NRuM}E^`Jj! z291VSBH;=~zeh^N{;+BHFW$Ww&{mL%F0p6LgdyBdZqtfUPMBg8N3f2e2Qh(Wl#Zem z4x-E|hAg^}Lmwt-z%dLXj}fAcDQ+uZ9IvrzhBg5Q<;$^_Src{2t;Y_UC>t3@DLTV(Ac4adJgNm@Cel%7$vsb#0Czx4lsiPnSV8tn(%H4E0ocBm2ErRd%zp1 zpt#Hh)lJ(Z0`u&+;La#RWf7)1HOHIVZ{STa;eW97 z)r*ErVKSc^r3@C}dYbwtRw;2Mqj&K)Mq^uT}kH2UTAl3v6m&aI*oJ9&ClelK%f a#b@}O7~+NoS;$X}bzjiXN>NBBno=MwMFSNmq7^As$|wvLS}3KoTv`M~ zhkGe_gN;gyCP38cgGn)_Q<;uDlw1lkP@a_!D8Qz&;9~rjL;<3xY z-O$#y`PJnCb?i3G<70>XGW)P>iJdMhfA&wgdklN&w2R!u?mojN-m=Z^COhK(@1NjQ zf|CxJ>xs;K!>4pAX4jFyj^1MlKC{0kYAXwd{dD`vaMo~uo`BPw4|82`Xt1@3YFp_o za4y+Z-cskX-Q}g7EB2IEHFt;?1BUq0@D*R%U%fTSA+8y&Q|;gl^tTNhJwyHyBBoUTcRRYB;DdS)l9Or-c7pxjZw<7<4HF&$+r4< zG9DhdW4w`!Px5|a!3%MFd${gs^h5ZtG02vv%cZ+X8v-C**gEY{~S`Mk@K3eH7utOxz zVO={y7XxxT&g%-dEfTLcd^qhqgNiZFCsgVx4bwrfxDxJE*dAP^s8#T8`LC7K zePX^+rRf(7XK|h^k!GwAI;@1Unj(kq%{CJ#GJ5Yg*P=R%yyT?njtU))F<|qiI(73o zYkbx^$ZCkSTFG_Xn%fb#89q$xX9J) z1Yb<>O%eNGwxpRkx~(GaGM}HQ;AhR&FVu*?#%)&fTU1PjIl9xTVw%EQLwbX6RdbAb h)@$Tq`o7b7jPJQAtk8w>&{4lS`He`U6O8f${!<2?wb}px 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 index 0405bdd810b6ba6d3797592d81a84657cf2b3ad1..194122d1d564d7f49debaeff5cf6a51048ef0587 100644 GIT binary patch delta 266 zcmX>jaYkap2Nphte+;Y)e;7C!zB2GJ{GI%dC5V-kL4c8Mavq!F>pNEIFWfG^6U|Q*2I*`jhoJ#3!q;>oA&64rKRWwFS!CO`gZ@%jh=w z4Z9O#08rkEF>-Pdhc9CyP=)B^s~pOV*p4XycLP~%K$Zn# zKbZfQQ-yK*WF;;q#)V)#HC#H3E5Um9aVaxyhKg}aX5?03+zl4D=2m7rIys)(nei-` XzXQm>4p#S>TZi#JP)vBTF^?nw7M(~S delta 266 zcmX>jaYkap2Npg?1_oA!e+--q-x>HA{!jkL62!{RAi&5mIgd?oav7^ND?gAY0Onl> z^2C8WiOJ$@L9FsXmI6>bno)i7DK;lY!^!#_;*(X_br>xt2eNyx+5_bsCeLH{W%QW* zhTVxV2q^Ew7(Ka&!HSgHC#H3tHFBqaVaxyg^F=ZX5?03+zS@B=2m7rJ~^J-nejZB XzXQm>30C)+TZi!>P)vBTF^?nwKT1bu 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 index e49d868ffcbbfca118ba91c04b6eed7ff9acc511..c710c51639ec8ff9a4866d8472920abc13cb5533 100644 GIT binary patch delta 85 zcmZ3@x0-K5DJ$cS$z`msZ4WT8GaO>zWjMm1!*HCznBfG21;a@OFNRYL{y;jM;S56_ o!&!zxhVu-~3>O$WfOIdzMTQ9sml;+vT%SCTErId=R delta 85 zcmZ3@x0-K5DJ$cy$z`msZ4WW9GaO;yWjMy5!*G(pnBf$I1;c3uFNQM={y;jM;T%IA o!+C~6hKmf%43`)>fOIdzWrhh1R~c3^+?+g*ErIdjPx# 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 index 79fce7a58156bf9108a4abb11b7ae2cbf0d52b37..691d70495bbaa20be811fcbca386ad0f181c747f 100644 GIT binary patch literal 2819 zcmbVNT~ixX7=BJ5SqKZomQtZD&=w>K&~0rk)*xEJDjH~QDz&X&3t7X`WJ7m1OzE9> z-g)PYo$md=bX(4NwzI|k?eau-sgSa^FHS}fByZ;?*LAt ztRW&Wop;K{y18lIF}zaQ$r(jEXB#=svyJ&|b|Jgv_-mGD-?iLPHI{o;Oy`z{c7a~$ zXcSB*Z(Legw^n@(F@eDrxNOx+pxrTxmcaf@-8JjGwv$f_bmc5>)wMT#yX0_WJD%^B zi7$(eY;>}Y|rQR&a9nxOuy_B&uChnQR9Z17HV+mS?TRsEZAMO2!8JA-nA00 zRNNFuY}0abC09V(v|LZ69rM?0Z}gPFL}t%N%XDHhwqyIV0-K5d;1}er8c;dK|2LCd zW@qL~Ija)_&+6EZ197xrP)8pQ3$!JY%NmXf98g_TO}OB?=9cV497ixH{YG@e(Iu_p zI(h65+V!2n%m4f0&Y1J$&o31U#mC1H_ zv;yb%en5?!RLMJ;o~$%9@bSI?}AsY z!}cxL^rdk0S6ipkLrQZcT0@dS_VT{3=vbBXj#;iI=m3P@km>vd8dqkz8PIF>tC zFg?%mG>}KhJ*zai(C`FegtFGgUz8dbkvhkBH6m3`eW`_9)0N%Lc`9OUypLmQpjx8> z0=>Obb2*k$*@uJt@8{?n;>Y+smzvndq0}P`q<+Pb>yI$Bjp4d^EH$}}6RD|fjHL$J zw=td?h;AeKlfs|i|8W(o#7u2Q$T5P2Vcfzf3P_?zQFAcKeP_9Y(J+OR{7Oq!6;YO~ zt4&!l^LAy)+@*(sQE+_!~;S{AWMpI8n~-qbY({?Faj@yIwzZ*KMi$GhdPfpJAW4HJQM0X*6jRw zsPoI1t<*fnB4v34tofMy?cf!G-!Qj>*CY4?3(bIE>;fF9ox|J6ga8i9)>Hr&D}a}p z0lx|bdfaElB?%tKeRShH9K!dc=?|pjedhn83ZDu>)aYSgjRfYyh%u~_z7cwLlfu))ED}xf YAXsy_7D0(~5p3W#zj3Y!xFjC_1@ZWomH+?% literal 2595 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 CFnKNj delta 460 zcmX|6xlRI66g`i}fXuKAiQuTwK%g+jLMoszf{mpOi7W2=in}B(xG%WjjfJt%*22VS zWnnaScDDY278aIP#>YTt-nnOaC-;8)ZhZ3F-{TX20M72@A?f~FiW-f(3?9l9l`H;O zGBIGrK0|qy%M8Yxa!3KW%6P({k=LY|%*ZfQim^D8kj_jJUC5v8me!RfW}tVaOJZn7 z3pHA!ycKPfwuX5-Iw+!g>C5UCbDWqh$~)1eYlAj7@6P*I`keK>^kMVxo_wa#?&iJd zqoBRJq#rRDz%YP8@s^5nA_6%*t1f!AYpx*-3l5PP!Kj`b!#MreLj{KwoC!=)%Hg57 zLsN497^aXATF5eu8PUTqOD~QPpToSqRfVc43s}^hB_zcKL8?>zbg8=eGFIq84Hx`X ztkJI;WGSk3Ht==5*F)z{tv=Unz=po(Cbk4tLqeJ8-G&7_*u#Oq0Ma-TSc797Pen%X Ef2Vn4jsO4v diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class index b5719ac931593757fd41fa267c0a28d674558dd1..5852448de9d7c77f7458baa5cf197a343fe3637f 100644 GIT binary patch delta 1651 zcmYjRTWnNS6kY4iOy_aWbfENgE3_IB%5+K*3?IarG%XsUD3N|3Vn}JnGDJ6)&^#HJto@ml0C;8AGM4qj3*i^+M4E7wAQs%Os|?Txvf6hl8nWh zO+15l6y8OLec3x9t5e}UthC4ZB9FbV@Buy~%*JT)(Rf3&w!I}vxJt)N*D-4pK0-6$ z7w@!0^yyez0K~@%7K*gBUg3UJn&`qOUTh?a>?3B;NCgL#L{4k6E|CeFTG!GNYi`uc zPZd7H=k_UIV|a_gR;(m~BL844(VDED8=Kdlg}+pI6K`qyR|;RF+g{***w=*~g>TSn z@A6kv>{O^lWdIR;tMDEAbZ4^szjo$op6_qd9qpy>{j>zd+f4+<==<>Ui?TD z+snMgDTSY)h(J2c>YA$BDiix~P~m3{`=ZSa|AU7We!(8XTOV&~iZ&;;?oowfnix#S z*Tn1R4|+~0{Hi^sNDSg${Fdp@a}(+-8sbeA_OnW*Oq|3ih2M3Nbql7=pEEC3KczwA zXB7Sz#HY8nCZkOn--kaH&Y@c}9C&eUjV51E_zN8aB9ohwv1BaTs>zoW{zk9hX>!`r zuJJ1hSJ69KS}RH3g8xzYSErt(Q`gE}xS?>W=JpFr$)BJ%TD+s4wg`c2SUq}|A3sp4rF5|^2NGyAQ%NGlqZqFE0`#a&qfF@ zU}2gq6CmeO@w&zHHiBYU@Mt}wpd>6WT~2IBzkLNU$s@oj`-!|Msnzo24O?C-s|#x< z`tp3QBQNu~E}~%v8(a{2LWq7j=gS$0SXq|e3WObO@@VH~0o|6n8)n#YN6NeKMTX&E zn;Rm^heXW5b^{sl9i6;S0#l19b=x(`j98}2GB-Q;-i=Nci7Vq#<=rSQcd(a;SjuIo z0gfOCh)$fl9qhzWVIR5`94xnjE-NS@heQ_Jq|`@vd%`uhW$fU%R$M9)Z#R!#)wp75%wn7fhx}hEC?GyQt)I|g3R<47~242izUQXW7WjFUqme;iA z$jCt4KxPiEy95knK!?)0Fr_<|CtX2Lx`Jz^nF9lH4G)ODTLxnfaq10^&HME9KjwIvyUa*FW52O#eUw+)4Ye*Im!S_4aG8JC?iHb z#~Q^PmtKK>8GaZggDYT^(1pb^=z>XF9;uV1%`AFlS60c5?-RG1Gm%f9y`pfm%g=z_ zS9nLINd;5l#!BW&wzm>;U5ORs0=Yl384_zDq8uU{md(YO#i3$_*nw*1*rnD8YnUhx RV-JQfS3J2O_0Ag1{|^+dlGgwL delta 1499 zcmYjRTWnQD6kY4w_c?R>qPOkvXpKV9_FfQFKG2#F>Z6e;k$xD0F-otshPI@=Bo;sJ z2l9uB$%%dbnpaP220;0TX3-ZQ7r2<6|5TUrIEsviwYu4U-ojrT@p8knP zCfYmtH*NwjfqBjL3n8~ERL76q&QMWsnZhSn?p_Z)6#P`72`k-4!trUV6h6lngj1DF zJzH0qtZ1B@Bz*TjFvG#?SflVIYKe$gr`IQ6t$xD>(X5~`+@N&|kD=5-3pRw%>aGqK z@oRTiSchA%QQ;eW>z)f&6>n15jFm)GRGzG^Z%9pjt$I$SiT_?~kNqb+7}SA^he(XWv)b1x45m zsh8_hQ_H4QOmWbGg9^VJI-IPnyiFcfID&mdXm(vqO|mv+GB~Di+&D%D;>+r0&%0$g zsqlxfI3jV258;%1%pR5QMvuaurbecM)91Z1r+RjIrGswtD*SbepV8QmO4b;@1LqXZ zW1A#2_@9b0<9tEkZ!8}ad7?H|ovKbY80Sk0|6sfD1I`1MM#EoGxN7(@5y|NeeNEv% zlWEXoYLr`WL!sYY>WmDxP%Omub=#c6h})hO9a-YxJqsQd5^JSpEX3p+lxqQYx)-wY zAAJXt26l2sV*N;XzwDPFDnKJ({H>y5ky%Rl(~AOD5R(J4e&#mD%G0Z57b?~v9c;zg zN#R)deZ+>gU&RgWVZ9IHUN4RjS?9@W$8}Igv|a4M3mD^fLi)A84NkH4#}lpCGUVam z2R}rVPl=d^HVZ@IJDT{g1g7O+t@wGe6W5MUJDWW0_M?fz#WZA5i8d4_JnSdpTKTjZ z^bzI&WkmY!CYx|vybs?AjwW=}r=t>bNMx}!?%^o!PPpu@j6Iw%ic3V|gOV-io*dOt z52xj583vpYkeLu|sesPVnI6viVGMn)KR=$nXd$6Z`uC!A z)Ft|HnKrI44_8@)>nuS(#}S-Ji>36joB>W_n9no9nY8&56|0!R8fKXar+8J zl-hLQNZdHd+>v1`g*-EYqMR=eL6jMS79hz?8LJE~!YpP9%H#@6Ww!gY9;I_cc^KP~ O#bIK}1(|CyV(fp*<-?|k1mhyL=< zk3R$G#wRK~3Yu=~clDTl&xxfBYa=#n8+x<+NjiqDJC?0ND5!Fc(t0KpyS9AWSaDSN z71S5IPU_D3o|l5MtdZI6q!*ES)Vot{^aNrZT#-X&VZz955Kn?ff^a z=DnMybJxU&7}IBFR*m}#l%xWW?l8I1Fl%dO#+b47Om@w(H|XMb*3E2lmx7v7Q*t2B z2hEJ>3@PYqIn1DRuOxo!tO7A&tr`I+2x+K9RS;g(X*i1G3cM|?v+|@~!x2=-)d>yd z&{Q<;ab7@L5E0Z#qf;7Glm&1aXH+zk-(nr4dK%86jOepg+FZ>_&lU}>h;mC`T^&xR z6@>E%xi^eh=`@uwtxUXiQATdp&>q=Cew9JgtlZXd#1#hVsW!}Z$^9CBOf|Vyy zhBNPqn~)ywXc*huUXV&mXt;(+8c+#I;Xwjh7lXt!rC}N~l=n_SV~w(GWo7$XmJ+Q= z34K<>9C)9|825Q_q6B;)@ysBCMGZ^1LHn%vkiEwmB<9L7_Qk~J#4##L68qejJxL00jjFxSmL*z zHb+s--(!HXL(ekq{vK`HK~3~2YNPEt2uHm;Xox;TWZ@~Ac5pJkn&@cT#%sGcHzyZu za^dY0TllIYBzDpH96bZRuy4Ts4804C)iPyogHQMo5M`(k0UQ%SG>USZ6&hmV2ri0B42h#iifW9D8qA3hZi-r@MIAm8$MKms zfiFY^UyDY3Cz|lRIE7tt8qY;DUWhaJmHzMXuB#M;#NvJ2;#;ny5FU=~r_f2dmqY6@ zmMM}z5}#uQ^AvI%pJJ6OKimBQ3?f#MqPIrDa-Qq1JxAK#Zmx0_)!ckh0N2|0C%suJgMhsZsMBIIT$i`2x2dBlGZv5z;UN)T81 ze^MuMusio*cet?KGOKK(q#@D$<#ktGiTbZCG`VNhJd+s}AOBgLR401^qK`>kK#jPF z1~GuBh@(pkqMz?kaS3DMGUoYS7Q=3mLj+5x`$?vlr0pg-pHH%e13b&bz5H8RyDw-s zzf$1fMn3U&z7yfjGKWM#9ApB#uZ zUJ$8zKhhkI=OgvI_gu^StW2QZ4Rjh0 S>C?;LA91gT|EKs^c>V6k0y5b|FjHy6o1?(ht3~ zj+c7rl`|b3@uD-1Gmy?$$LUosymGwv7dX!7AF!Txvp^C$;|!bk>zwmG=XuU~`SstQ zegQCuhZ1}YU3b)bYEr%LBnz6gnH;w@wOjn;9L-i8%a*_y8eJnpH4DjWt9P_DM?#RH zt=e@)bvE|A80v~zVN)}mB16-pYq;g;Msl8Zb0DG7R;;%Aj_yCVq6DflpX@Ed++6GG0S{ z7=A=#G@ymS-y5A5C&y$Qfh=ZiGC~MTIKIbEMS@|pBO;8tWJstB;UrE=I7M7kb0(OU z(TzGnU$hK8Ulg7_GTuNhZK?VExM46TUPA5-6P95Ri@If|qst<4Oh#Np2y9q}<_1W} z=tq(vq#2qJVVwAl^yZ>v3MzC=OBg&Pq+0`XW%(qWWk?)UbI+PI{;xii+&&EoYHb|FxQgMOa6WuJ#ZV5tydNE^}WyXlU@SL?}uW4CboP|X4 z{Q?AooHI?$o-ov6QKP_eB`-vDO<6NYUN$&Et?j2T01lt%aC%XF;yG|fdLV$tM)8Eu zI!Ja6Xr$lQ0rm}f2daSBD{pY=NK3XD1njSGo+R%)|(@eB2lFCinN0fzY^TRXbEr6x=ZdYugu1F z(5Xlzyt`28rvzNH60T8z0}~~%gE?`F68!Gv@0AWxmE9xGB0N#T!sD0Pk1h=>^t%oP z;O7wF%?R-p)bmyx<;T#;74+~nBzZe7@D7afF68(LOz~4#;HPnmcf;Uk@Con1XFP^4 zcpP8zK77v;_<<);;)8h3Q+UD8;y3btkM6ocLJ+aIh4*O`Ga-ZzJ$Q-_h;%>Fc#PX5 z5=Rc7L&ZD^IE7EKO0ysq@DOXrQxpabvt_~XEuCG z9OGkdKC$w>`}t(Vd*~L^IT(b~hZrJmKB5#gYZJOKaPSNzbs5b(i*|kmF`mN!zlvcR zvwRAZd>V^1uJUVclA{EcpzbGGpd?K<$we>8X3W8&#QjL1WnVtUn=#zQvX^)tjZ9GN zKOkCkANag`ms~#e?qc`|HtkSX(w#o{tciG01Z|>@sc4@ZinLM@scApbO+r?VH0-_$ zz>(Mzh2poVtq-~(OxJ)@1#-0_%n>h)4@ChU4z_4)a|4~kJ=#f8@cXnkK>zI@aNmEZ CPZHJu diff --git a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class index 94e29bfccfd59bdab2f23db615f7f231bfb82a8c..1a0d3781499479e157c09706ed58bb2acb912c7b 100644 GIT binary patch delta 983 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 J$=0sW(0{A!YkU9z diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class index dd5cd3dcd33b565d7c3ab5496f7e0989e8b14b11..80f2414fe7f75211c5ed2fd7c9e570151ca8de2a 100644 GIT binary patch delta 636 zcmWNOOGwmV6vfYnR5Rx~IDeZg4Rpp)M{8!9L@7th2a1+042{~1rP)X;GbKt%Nh;Dx z8vkIcOwmQ6K`=r^W)EsnS`j@gvUDh+MT;J^O!{{BF7ElAbI(LzB5-RX4G&h)4Kf28 zmD-CUEJhwnQOYt@vm6IlfksxMjaB9y zSu|>}hI?UUEwWjM0@j*0;_v!GTBjZc4)N~rnYSO%56sRflvC&{m>rdW?gEL6w1D*Y0G%vAEg`Pq997&voi*q{k z3vA;{l<^fR`5L?VR)>DCh3C=359sAbMEFU&U(k@xnBpStaS4wY!#jS(0>7y^F00jC zQg(hfm)FkOe(D;3!N%W6Qfiok`Ax9kuRAjmMm0@2m2)(hb0FsvI(8y#h~~w hB7RIt0Jmi;rX|;$Pm0+Jw27crDTGIg%%|(a{{gGfjxYcK delta 636 zcmWNOZ%oW_9LL|k8C~yBr+zv8o!pfz=8miGROcwh>h3a4g(qc~jhR139S@kI2Nd~J zKNE{&>w(sVoXy|aG@dA)nB`BjOw7Lw<6(TCeLkP<{eFGkpHH8&&v`wax*OA(12PvW z%tJO^hMm2!Ud-b%qLKZ`?b2r?qLj~(m#W418ukr{Z%)01F zbDP$9P)QmTx>2DIDfD55Zc^wY@bV~Du^DA-K_!o)hOG$k1orV18h9G5Y)1zTbn^^) z*?}m};StYch@E)O3m9h?zVQQLN-!lyD4wzE`0?DB}q<@grLJ32pqWw*R6aUvZP)agURD$RBvYpBUvYZ5n@T zGdQUw@UJm3YuG%c-uMq@0TM+s9$4BvB8ZVVHJS;F#3M~~*d!SXBn1vhg;UioNkf68 z!y|K0EE({L73Go{JvQ5(bPaUmdXY>*|`EcpmY0S<@< lXJsiaix&}Dj$2ZM`%-L-B#oO()Dor2#fNP18;_H>{0G#wk_G?( diff --git a/libjava/classpath/lib/java/awt/geom/Area$Segment.class b/libjava/classpath/lib/java/awt/geom/Area$Segment.class index 8bf86731618b762ae1b9f2eb1eec8336166c3e89..b9d4cf283f0300f45a30ce7fb6afc6c96c756287 100644 GIT binary patch delta 1974 zcmZuydr(wm6#sp9?{d#wmgjnRXF(D~O?jyJKm#S5)GSaNBn|&?T$~j(Yza|w8pTn= zbjGRXn<-zVVzFqXVz8zN;j5Ae%Lis@mJhTt%h4&PDec?^(q{VOyXX0x^PO{k-*>A9 zx24%y?j2|XkcOXXZRbN$oVmVPp5m#V(z%|(VsHME5^uiA2n^1h=UL<#w6JV$@t~>R zS!KS`Q8G&FVVmMDn(uv~EHf)pUJ1zy@neUEYB@^l6R{H{AWCeg!7dFSNT24i?8Y9s zMjPA9kG*z$h*1Jcna2i!dOIIshz>vY+3}IQp{?XlO?G@N7gCO6`2QwP$j!&c%vV31ju6K5sss7S*NVlN^C+#>T zNiPWh){aE<3B?6m)bO43>4x=tftdbpcwBO;elu(htlBHkwbgKFugXofCU+Yw+6jbc zClR5Yf>S$Tvc*hfX8dYb3%c1JRTT7mY$s8qGVhIL}D*rEJbMM*bb{4VwTfJ;f(^ z8WEHueG!F59%p)%V@%~3(-27oFlf5$h!`qv%b3X7V=U;!$jLxBK!qThg)s86UlG?b z2eHh@)AQ(0#hhb429pm@Pzfe5pHHP+&jNWUGSgMbG3-1I!W3-5cIJS0@tzb>ju};x zlIjr6%bgm)`x}F-DY{H?0}@SZ@_(%?c3G{KnxvFE)CN$O%rsz9w#Fv$u2@!7$goV zffY-^sE36;8*q?qQGn$FG}r*;u?DOw*oW69S<+QMo=Y**A$7>E%CMSM@N&DY!6F@9 zvMVS*RAraFr)f9K49e0I9iQOOuo`M3{23vZbj^<#x7EP}XaTHmhF?}jC+fAV zCeB$a+gJ*)gDC~%pV4E-nO!nSotdutk;H!bkl=@%yEhd@{LA_3QM*bPhHj|a?w<*& z-C8{wPEN56RJm?+bqI7V`G=xZGWI; z7t^`RuWEX|?AxPHc_%UtU?3y&O-ANhd;>Nx`Zr<(ZNfC#jG3&PM_YKvTd|n7VHs6o z6>Z0Qrj=BUYTAifs=+bZg;v^)cG`mrv=_Ii4tJ?uC=?Jn?Gz5G7QLuJ^rnNNKQ)Qr zbVy{)ro*C;nPNIB7SS=Wl#Q$DxL8Xq;&o~jZ&RD7q7$Np>1jGCuFxrQhuW3CbXG~B z7A2j|1rgT_hl!hR#4*=}IOa0ZEC(8~2`1jGC=thT2-%Fg#o{myqnUNfL<5en*E}QE zb(C#{R>tEoMyigxot)fk#Fm>jU97_nMlpMd?feo4b*N-)2d}1*hAe!-xCTB&dMB=h z%7_nPO>t5HpC$7Opk*V>TNgm9%&Mteq-3%$Yj+5>M}s&FMf4T|*pQ=lA4ieoJm3g>GUP{faF54ddw+o}t@3 z)jOC$zw=c8kncEMX-9&W)4(*GW==s2@^FSZ3*s;t?aZm%~PNSNB5!V zfT~;I)K$dlR;2109@hzDbQ{L&cI4<`a)~P;@oX?G@HNhLb_7py8ihkSlDP%n?8kZ8 z=!%(a1ZU~&v~KgC z9qp8_rp5;=YARx|DJc1@KvGjtGcYmK|C}7n?4^BoSsdG$v)}u9fA`$eBey4;+aET! z0vL%~4dyOynW9b6ov72WT_93M>5&N*>;MUfN;7t0w}vkT0?QoLjuDQ9RU=AED&~&J zd85Q(!5-|Do!aYUs*VNiVi25EO5!u^q#j9hb%ZOk5c{wbETtd zPVT$~j`I12^S2gE!ca4c@x2A9kcO_^f>ZcFz+75VHLaqupk#KHq5i>eNHb$O&RB3( zuGEX;E?W?TAwIZ*E)72m_&siP>KsR9i3REC76^@7>#)fo=G(sOVbUaY?NbD4>tv)) ztGx?eS~tA4Yw*{45UgECgw~4~?S{PXvq*MYg5?TJVZh%|w1?2NN3if}0!WcJEkz2M z$#SL#JH!%7Y(GKp;(ojb1=F<#R*<*U3XH6>_b~a+!aL z?@KUI5qI)3{Ha*p^`B{-!IfU;9J4q_2?kIptTacK4HzYQl z794;A6BZkAhZpyK5Y2sac%71;1%_wWW|)j7`Pl6y_Y6TE+2)p?7{X%@H|)j~Zdv{j z7)8zulT|$or;H2=5l%TeC`PZho2-<=)5%#ZHQK%1QlnfGG(Oju*h=b*G`$Y-?5C%= z|Jb=dsMP;4SJ8y}_jO^_t?HIXoo=;VYeI{(4~$WboyqKh)>)4WaHOYHDMvOw5!t71 zv1`2DCPdgZk7J8R?zej=YuUwc_W0Gxg9C@w^x>%)!x>Mtj3+1KwvI8o1L?FAMYIbu zSXV}S_^Is0LaN6S+K2b40UMZZB^P$k0W?rEPSPQC&|zGpR&>)5+@WK5K*xnbCxlK1 zL=d?|B(;gb)Gp$vL!{Cfk@Xy%6*HMBr*op3&WputTtSz_hjdx2p)2BZ>Jr?0&w%R6oAfk*xCR!OHq>MxsHZw$g@EXG=o1tREL^o_q zs1$AZ#;sc@j^PMLn6N~&;3!%@4i2k1#wJ1sza7UJZ#o|Ib7HWt;T=w?iCD~ZrzMfe z7pD=Si&fa^(QWJ3F=|gBtq-9><;J{OQy%Za$pk(we76b4YvV%OBv!N)CT6Hf$r&cQ zYJjoBZM3ULv3w(Z?dlOMcj0sf+dLXmpGI~CC)NDM5AF_M1b6wuxQ9^s9T9Y&FM~h% zBKQl5^beko&_^9q4ea8eVoSe@ mUszIb&28<$b*6*4F(-cse`Wo0roBuB(;KRS3jS=}g#I6v`mZkl diff --git a/libjava/classpath/lib/java/awt/geom/Area.class b/libjava/classpath/lib/java/awt/geom/Area.class index 33273fe49ba95396792d10986f2c95d2d262a3a2..e6f9f59432d187842a8b8bf8e04a348bd5381e29 100644 GIT binary patch literal 24352 zcmd6P33yah(stFkTe{Op2+*V(5<^G=NeCzbq6v#2pn?z}Ajskpk|sn#60@+lGRnBk zxUax~qDVC2fZa3cE9$Bbox0%E zNM*A_HdAse_l!jq4H1VDn0j>P99LUk7pYiK8)0%LOq(%r^3*aW9?z6CuD-6RxuULl zRz+<~#2$6akLSF*qUstZfBB4)y`1)_k-3j9nz-~_q)wXT7GNn$XnAx~7)q zn%YBWp+)tLBbak?JLpy5=UJ1;{r6ECdg!h zL35-G)6g^{Qo9hnj_cY1jTqsUJ|;lN5@s_ot~Aq#pDo!r#s}xxmyQe2WSW9DR#a8V zC>=OP`Ez|3g{c9WM$^%yy2x@2XZp`^mcGsi&`dfW8o4Y|QyXa<+q@{!*j!%+De|g_ zleH1v%)}=NkJ$k_f#yJjsxXnwk@84YOI;O|bXrC8B1l%WvGK)3z8UYjb+*ryE+jYL zuLgfh(TfJK0C_4jOvoYLy@)BH$yGlv(XVjtwZC|;Xo!k<+QA0j6XZn!sv+>VBd4`g z)Pl=@$UIkiS{tAxgu!uYnkFo1XkMXZM!#tY&}r0&wp0psVJz|vBE}+f%>im5bj`*@ zj;*a_3daxhxcb^!7dl4dgYR%!9-tL;ItHo+BB=3ZYD;rdO%{ippl`(s=<|Md`@Y7-@>=l=B000bR%x!1MT;Mz=W_-S~ET zxH&g}mI&R&0s5UQbWj!4foAw>qA&ZufXNBMbYp;S zahVR0qOAeCm2SgOR@I0-szk4QcNMZ|Rr!FQ8|d}`ZH{t;t|Zirt8c7>p+GyE&`wna z*;ZAc{8jbM4UP3xEtSw;Kc*cvLb`@=L}QMshi)|$VQ?~{5*D*c-Z<1o&_9RTnfmVE zwYc{=FxM9{&X0httjgJwRJsEEO$wYxUDEdf1_dAhZ9Gaey9? zUOH&%l$yE|WV#;<(Bt$3rgljU=F37gG9tTZPk^3`%R5KX_6F$bSX#w$UH+K>J?oaQ zST1><3()g%c`%sfa?KjIisg7(;XbX1)_PAtCqpEd4vFVkE>{Df}9n4a;A&TT+~>1#)57}3 zB~1Ogs^8d!3*rCFjONgAKb$%OO!Oo0IaV}o*8Hs4bl8A$?JwY6cm>!Jw?Tw_Caesa zRe{!Ic9F6!g&=7`*CmLxDe9sO|HZa{UF^*sI0GRuBZ`*Q!AK^Jf{RW zz)6@xCqm-C2PKn{bT!+&j#a+e$_2!6M=?$8ndvO@}!M&km2XsOj>0t`; zr3W}ei`=1$ZbA za{+luO_c_EG30UB(Z$$o<6`02L%1Ii;K9N@1$ByyPsDnm0;>?FQ3niRR~hco-}vGq z93BZFJjjHJ0gYDT=Mg+wX6#6&;sdIa8S7F-S1A_HZS(;JyR>us0V5IDPc#(Hh>Jfl z+jVqpMRRkc4z@17PcmHN16;zTejdw5OS_MOS?gMTe320_VVLBF;8z!Ef<7$pa>u!! zzp$M18vpAHz^`LC=%d6zPsOZ43|ktTfS=<5qmb+P6;Y=t7}v6(rqWX+tQ~wjl{Pv& z?cj45pBXv1Jis%=A2BK$hRE~r0iNYO7YV1e_82X$BCwb9ya3M^@5*dCt+Cl26LMeK zqiWrivSe8h;7aX))z(+rW4gIHVx` zA(!O>-Yev?90;yf$YuFZq2w|dSs3dp)d-?{qdR;{BQshSRMjli&hFT*bFQlzCvAbQ zcWKLh?D#9pVIT73!`4-_2WGJdYpY zgZY5*@3jHHH^7s5io@FuuJ-ZOI=oS;+Y#XV_)ze z{D6Sxg9vUNY>2uFTeP682QY|o~gzn_c8;=kX`0v1ikY5h)EBq>)2rRQD zaN+vf+Iz#8_dQsj<2)}Y1%u~7v&HoW+3dRV`ub)}kWnjeY}5)KgT@SkmU*m#f2gX& zL4@um)kJ+BH-4EUGuBYiSg{15okp2(9eV}8?((Lq21fo@lc~A<7qe-PN$?C5p!IJ7 z{#*v!uLoSS!stumI{i$h%Kufv;zzuzc4;w;$+3$IU-RD`{szm7{VjvADS{*O1%HbP z*9&cJl;C9l6EMAhW>5KI7UUoNFVS6yikdc5F2itXlsRj}oT(njPgDuY?LKxwF1?cZ z((4f&<>09*C^>rpcz-5mG;b)N!m78s=9^q!4i6H>CsVKA0j|*C-7oMeM@6ycWxv>ljEQWPjMIzIq<|EW8}v5C<_5AgA`fh;D2xO zVHto@08K>!JSWFJr{Fm??m2*5*h)hFo;rUJS8OQ7JuC5mW6vS*gjyn3f23ij3fBxg zO-Bn5Y@t2{+v$*koz!>EcIvl{vOCG#EqJYH0IuE1#I+gMrIbR;z-~F^Atm6lpnNL8 zldvD?vR4z3SFFIdU|(1;a61i}Qn-iAEyn0p$}G%iry&p1@OC;p`MNa}D9l)8bhOim z*{clBC~T+E8#>-Lip^FE6$VW=YpGQbwzktzvsalMG~GNO$j#hH$LYMKLDM{?*lMNR z&O&x!(DKSV1z|hvY^S4Vud+C3xg1`JaWktnbUfmXLaAwZe7wSQ%1Z69IjEf`%^tLs z%E|_X?M)qD#q%i$o7<_}Yve2$I71KI>2wI_3o#fMV-7FD%wCECyaID~CFLNdJ_z&? z2xgC_jWiK4>}jCqBY0g!ZFDN#PEB+NolSSrMRXTR+)nF}zL~ZnFx*Z%X$L~IJL!*z z2ET|n%4Ce)zakeidV zT#SH(N}7o_Idn48EUKmnURnbUrc?0NLd$wm1>V|dpN|%Ra?r9dR0+-|S~pmiu+Ylx znv0FLIp|vtl#QTWeNn61k|0{*mJFh#n=6Q1jD59*o=EN0xrvV`7}!qLt07FdFZS;B z4--%E=C3R^kAn)fQg%Bv%@!h8h_G4cC22~h>DewB6cZKOD0W(@PuL7Pp711y@FZyA zaX9FNA(W8OceMmSEI>aVt<#DUj!~S@O2Y;P6Feq%*e>;jZ8Un>YDx?{VOs<$Y(t_T zUUt~GspI`s2^>stIX-8z7>RXac)pLNB>Q5nQ3~#K-?m=w0~i6ndlBZl&77AVgY#z0?Ui zr3qojmGvHBXDeN_2QqJkp;41ix6eyT2>Mo2wtm=6j@e3pUc8Iyh?ig9mkG~s!lsTV zSJ@o2-3DBt>urXPbg5W$WDOlqvB&5a>vxOC+Ix`tJr%o9Tcz?+8vwDL;(-4J8V2$0 zM#-E?Dcpn7IEYn3FL)+l%HiHr$bAs1PN&fj=VQ1pP2+wvhqI}Yb7%<-0uk}a2-KD#bt+P(VH0>dHk-?_l|KV<{aIM3oqzz?9KHf?R`Yzmkx$}Ql-Y`H z=?9SWQN$m`;y(SmXCRAnZq||WmM?dby`6U^ygGhEgNELd3H=Ke-l&7%VTP} zlM}S!SukfUTFGoc)I6=A4ghMlR>1`Nj7DHj`}gGIV$>j}%H|0$K%&SFPsCk}Rsz?? z@;v~h6T@R`!y~Hdwpa|0+fGqcw|=N9yZM92&oJAb2{O*}RCUXKs_JTJ%qsn|s{Y?l z%!BC1FDiy8=9*4LK8RxcUsue%R0IL8g<{rGcdo}#tka;FjZn;Hh(rs-cPSKe85DB` z6!UZ(oH&E#@!3?tE2)-$gHt5uK`~d+1)#4+`i*=Mjv8D}ckz{UKVOBI@7452zJ^}r zYw0y!O&{@E?5q6&)@~g;d;@IW2H3pIIg2+!F*iXmTVeBV9$i8 z(yd<<(#`KGb;=7*TOjO^_R+dw(L1=!^%ss zQi9tUXUp!PLJaZaK-MRKse540o`OBwOPPqn4&Z&1$Is%N;d3~?_dHbRMH1qC)UgWQ! zI^WO-{CC*3f6`a{9UR2(p+aAABL4{6*1;KyI7=CvuS`BniQD)ik4NZgvhs5|LR4a_ z+Oh0_Xv9=whNl{7a4lUIauh7GxR46%P4<+ejAdaX&g4ZgCAlu9Bx_G4=B7QZg00X`B^Ho9ros6SGim>qH^kHi<&Ge4z&H z=69V*oDqYal4bowD1mAj2Vc@BBO|Hql&E@8FV#~In7f=$^9GFNG@Zxx4OA^5 zfJLs`IeHCQ=H}#MWi{V>fTVS<=y%X%mB-3L-ph)0QY>5Ue%Y#{*>c_G)PSB8xPF~* zHa4R!H}p`1AOop%@~aFAs7y*$eW{1aq5-%MSN*6|Wm6gM^HmO2sa#s92I#(siAQ_A zz9eJadkxl_IN*Q@bl1Cw$0(M=YF3X5~y$MtF3384zh*u09lk0k3h zzZcDweehgZd}49m zE0wjvns!=`+s(LDhfVic?mA(yym2#a(urPzEz4_DK#bJtJW#&NRiJD1As^jStHH%i@ex{mD>(mLA#34$SWk!D~KxfOw(=@8R15mCDf!fDZcR7!V)a^PnVr7fW3$oM_cDW-AYAlj|v z5~8(+x>GXhhut;lX7?qxZuN~T@rV^#bdLEQg+g|Im!69ownZ{ zCn@ga&!2Q`*R;0zB~FP2&#{%p$-AI0sxSAK`osQqdT_uFdh}SKc84sGC6>@nsFvoSq4A(_4nScgl<0gaP#4e`brBt{ zen+#_@2NsvLQB-8v`k$_=OO({b)_DNV==PmtTzw^um>+-jAg#gMA$=4^N#`gz6i=f zNUj?5Cv!25reYo?OgkHv@FgI+l))iGcM#!FB8~yRvJQByo!;ndr#lJj<0c^?HVHV8 z?3Mon^@^g`?j%MOws5jBsueB_#!^NjJvy9kiP?t+q{qhS?P$haB;_77qYG1S54?Nw zPI?c_--p6~@GyP+kZ$oj1OY$w#14R8s>M5NBg#@{2D2uMO4s_VOH$Vnm9w9)tT+?iElZs6% zXg)z-sZvNTLKkzj(=@3wfRQjL=63nQmQfV6hpwRkVaqHEI-oMb31P_jH>(k2&~M#0 z=De9RwJR1hH*{>%feN8+F^gSiu7A*8jliOmaE7j?RFB{4Xz0U^6@E2ni_LJO$V>Hb zJxZo}jBND;^;Ekd_D{kFK1D~Uy|97%=qU9J9jBh9nd*<2rspW4o~JtXCu&wN(pl;y zsKG0Ak$R1;RJ7SAy-5$Mx9Az9zl`_qs`u!9^%wd?z0ZF27w)M((9?Xn*k452 z+z`J|ZXE6?D2MAh%|{Gc93}%B1UJ(^p(rNatUs{w=m z!czkFF9#zgI323>KE&nUSkl{w6b{lQTt}!E#M7-y93i(ZiLbF7t#kzmaYk2xDnuWG zA~&8cK%9QsPh&oe=7?%bTn<-NJ{;K2+-=O+tHDSFP6BB{WSby5cSKxm`2uGAOH9WX z)K7hd>G&Gj@)eC&-@+yNCy?knSd{PeFuLwYMRXXkoU{?>#I_jq)twdN9;Fx&9Kn6@ z=Z;4X!G;uIi(b(bqJ93tPKeQdoMBOdVN;Uf#!g+oAthE>idR_z#{L`~J7pYqO!BID zAG0K|ScQuN>(kTF(m5=3wv z*a*9z%TApFbW4VklsXS`FNFAg#!l`vr(i%n%vWXpb`H%5`%Eth4vtR6-F;z2^XA8r zY&S^?$LBSQ{jKzSqc{<}3Nj19MAtIRDGih+g?&MPQ8>`feYDFI4u~rk2nWJRn>s#R zmB_)w*u?FQvB>@JS-A7LdzGJqerH2RGkS@!(|D~7cE0#UCG=6>A>JChWLyl-7vmwN{{6%qqRqp*LYynhmyzGNoC3y`)ZMrW_T*|B zZCpdsjcXyxtEs_QOG}L#=mO&=y4tvzt~EB&I%5-UMEbqPt#luj!h4Oo=w;(>dezuM z?-=*eM@at%%61q#xR-Gshl~d}&v=kW8N2vM;~_oem%5V~opKx+@!%3vRF=oaWO=M7 z%iZ}jhD1MT{jX%TLDM?v1|XJZvcnUIM5gYQIK;5AQ0$&-{V} zpFI6-@x@7 zivc!do9#5xtIQ}PS8xcS9*Q*xHp9bd%6{U}AWZQxce zgAJbO-rGt{5Yv%RV!K3JNdkzOlHzxXwvqsd*^-j%5^W{j@_ObZj}dU6%6 z^*easrNzC1y*fp7l0+EIt1-aWP^x(y^)|1Eqqv3&&9yY#T!+&s>**NtMmpZyKvlR` zn>W!?^Je-j?ib?u67v?i(QKuA%v-f6t&$1DK?u*;rft}tlhslJ-NB2sD5cUyY+m>w zoV{r+F9Bs!HeHF$3_o%e(nZ+P@Z}ch26R7TV zBL%VX;m2g&Lk6}#dK0EkPO7^TW!{Gt*G9P`2HaOZ5-5N~JrMkUAG^Q}x7O%NdMJz)IHFz1~nz02V6CHur$be_( zK)}a|Ha|KJ5QR%+%-mrJA;W>A(78}rEmpHFrB1dCRc)DSsb#4PEn8h@Icl?&ARvO1H4^l^BMKtw4!#WglPqc2-oG43 zEYy|Ag@q-kt3bilfw~$%0Gk9#V&zy9g1Q!zM6Bv6pv$L<|a^CIN6rXH}ghZyYpJUg*Ravst;d@-P29fjdS=S z?4fR=R35}Dv6H$dF!r&xgAGUtRPl#Tj4r{9b-s4ZA35U``J;V%zL&55jj6p`oS3XD^`XuZSEG{2pg;K@NC&3)}faj(Wa&Xl- z5QJjf57Gx-MP%v`{c5*X^RF|*HhP_Ug}a;YAnGc<(Y`f;$I6nQ_KbvMVf2O*&G(4MhmT1S!38b`_21WL1x zroPrOly4nNMb<=U&LkRd;U`ZS*!Rq>$iNj zbv{2}UC8^ai}(%eV*bqf9sgimqIy`Ds{Ynxs?fSh6iZ zYppuL`h$vquD8~yM(YM`76!{vWYrwie$|YX-fP+{H1q4&p;rhmH(+mlBedVA7IQaH zCbnA_(o3K$d;pq^J$#(B0`Q-xy-^2yX*0Dq>Z5#hoc2Z&sYo5Az0o8Zp-Qwjnu3Vv zVcHu_r73CvP63Enn1!!0-Ubz0$xN}MndL(&fh?OMGi%~9C+ z<`0pUt0uu8{s?8W)D-HcOY{S>{gpplvWLwHX{_SF3E~v z-6x?a*7f91;OhD+J;VbB*`c6LTwE=;q{VO&tK(7dlTZu=B|{1j(8EFjB|FqZr@EyR zQQE04htCXT48W2001|`%BwT9^kfY%{XVsTvyWp1Q0b|&^XL|rCcY!*&+wQ%Uj?_#J zQq<*zye?2`!Yhqdy2Xv+Y!@-J2L-bQF|!3RvpJZJAf-mk&*Bj?+bGU4igR7W%pFqF zKh)nv%>Eu?_J_$X&2zh%63z>yh4U~kfJb)#kR%D~Lt#NoO{InUL=m&|*+on#3LBLX zMa<4;7cuiZn3TEp$oi7}aCR`)Ma;ZVeyG1j%p8rFcmc%BgJ5Yj{x$%fuK$C!&Z9vT1ftZ_tn0Ep(?*d}p4aD36 z#JmTHc`p!iD-d%V5OX^aa|aOfK03|1pH8=S(r>H>=tAouy2N^zR$GtIX6sRU)Owtr zw4R_pTf6CFYY)D$+{?+<)7;H^mb0wqIL~^XhgdIgiS;KQYrV)5tv~a0>m{CVy~dT+ z>s)KS!Ohm2e3tbVpKra*ms#)d_11g5-uesQfqT340Y74W#7|m(<)^KW`FZP8e#QEX zKeWE!&#f={Tk9*u*4HY*`bPD%zEwHaKh!YmpK84I9USTJ)ne=4>TK%=waO-SvGuXK z+BVc`+f-|9Tis+k>Q*~J-EI5SgP`}=ezn&QXe2#~`U)1rkaS-RN%sLs#g8)8lQATH zEQX}JJS5!}hoswLNV++Oq<qbWIFNuZSV(g)t;ON3ZJzNtfz%y&&lljjn>ERT^Ex zbefu{(X|hquF5sKX3%ed)`G5?bfFrr(KUlgf`i>|615s7r9NI2)2 zGSPxke5Jw9Xn=jT)JAk`J^pZr1cY4LEwu8UYdLX$=9LZne(!U#zcMu1aT0uNJAwOXDXL1Y34@O;&%=Vi+xffFKCV{x3HL!GH_0l5Hr0o* zD~vmi^Pw-B>Y?p1kA`#{+3rP_okodvh*Iq^rP+Nb-%h7dxR0|lXo8(d$Ju>px}8Py z?0yunbEwwNr6#*Son;T83+#Nl+Ag40dl21g52kJQVf27qM331+=?Qxn?X!o|v-aWi zkzGRnwoBQMd*>OtSa1`kokoT!kG7!ui#-}ZvnkcwZu`5u%7oBmJ! zHz=EqqsO#dI|vy*sO8#+gQWNJ50JS;ED~?yA3-JIM8Qp-tT$m@A~CE~Y$spAKY{8& z7tjUV0V;@v8bWc z!@2|cK4s$sUpKuV;!=xC?d16-N%Kn*=a=|OoPt63DTisB3bd-DAPo1ZWQ83f{KEk; z_n(PdHvV=(NATkyTm!l?3{dSKcDD-Mz)mO$JBkt@wk0$yUlakW%TOZ>=ny%i10^s) z_)3ym`FSZnUK{`jYoa(2u;asi1;0>Yi4#gH@quqE{|;RE{LY$Mc|{0cM;SxF6fC8_ z>sE6_?`KLQ<&`9&p{3BkJ=8OtGN;srqKouTnvKI!3bPN#-bx2a4d=t6jcgE@B_&z`%DZr(;~ z5G<2X(r@L9L`Qce0bPL*^<~1fA5H}RxKk!~Oqa>c{}q$lN`7xL<&ca1M3+;vUJG&bA zvxwH&HFTrB1o%@=d+i2#-ad_9u^Z_PyNTYho9RP)DSc`$r?2f5^sRjceP^G=0s9>8 zXRqV|_PIRRK97&EFW@8X3;AgKVxDaOj?3*!_;~v=KGnXQ>u_(fui)kOReX+pHD6?3 z&zIY)`8s@6z6zDM=7x2ghrn;K@fs}c4NHPgON&9m=U3+xBgB72vrvmZgsW3D>Oeq5bv?^ajZ zPpVe?DRrm4SM9K$Q4iVAsonPT>Ph=g8d+|Fy#qo-kp-0dQD%aA)Z1F=rtVj{sy|Sx zm)eRIldQzTYKzJPc3PCK?o|1pY|2wNDLF{t;0WnPH4u~!=eAl^A*e*G&f3%jr?$`hp266nHXZVTU}~pV1LSLSBIT4It(XKpGz;?)bUwtmkP%--_GdVH_?Y+?Ker;Z^Np+1Bv>O zy4xQ?nm(pX`%~&~|BVXmFZ5`+2R{Z!M~epIfUKOUMC~}WH(ld!p&Ewuo`JE+*B|}K zx5xc~(lS~~elFH)_x(B#(MUP%it}J)12;vFkm|j(TPTn&1{ob072o!cVuws$PVel6 zKALR*3%&TBO#254*gsM-u)L>(-5JNCY{#YoCxH%g@Ees*B9%Hxx<~HT+Q?XsMtVI` zILIaafd7b(g5~2y1GXhg_d~We@iVTty4Gg6wl)LMKWy5op|bZkDn0!PRjkU=ExDDN z=?~H_e3-UX1z@X8PzWJw4oiA#qI)?3(E!ivr*3i^Y-sc5)M8z2L*WPKI| zZEuQpV!ZCeNcjSy$S|hr?`YH9r}=~NJuVL44L)V6{?t~wtlyZLoili9l*!|s0WWo; zM1nVzr|7e;(^1So@g=2gPeexAe zxvQ0?7npDbbPZ#?GUnL_s{=7eUB7wu&oF$rAe>;x0XBr5^(_J4z~BL2#K<0ryG#5Y zgpHguvYaploZb-MbcpXEl<)MVL!B%dgZo4$ho(CHX|6MXPImIB-YK9KXCR&F45AC1 z!{|Dvh}Jtp@uRK7=vLexbB5DirE~RS09KOs7iqcOt6LS*VJfYOQuJ!fAx6MAZ(Id=Q9LsT!=t zYPAahY6I$UQ9G5Xjsj&Ou;o|d@YbT<_>GbAY65_-5XvV(Cx<4}qaHOEU+13%l}(^} zx>g;Hw>}*3y^7?-qaSW-EzU?z2Pm({Vp|S?2XG|(5bdlc;XsD_)v|+Q7#X@m0?$YA zU4G}m;RwFYmS1>CfHOQ>*XH9F@LjgFz^8#)yQ;cB*m3tt;=>THWDspqXu*Xs@Hj@m zgErt9yFHYze?B37VDzUJ%F+ix+ixJOq13VZ2NDEb@EJ#^$Ve2BoYTm5ny8!8Od+QQ zKY@N4GgGlcJr(z9xZ@zZf(_taxR>L;2lpA^KOFa&rs8v1&hz{DA2{@iJNDLh H$^Cx-WtCT4 literal 23671 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 T)nTP#tQ33>ki-heEP?7j1~P~) diff --git a/libjava/classpath/lib/java/beans/XMLEncoder.class b/libjava/classpath/lib/java/beans/XMLEncoder.class index af6b30fdd6b4165fc58a2134b7e928843ce43275..7a42958082a86aeccaaac5f23121b1fc4517606a 100644 GIT binary patch literal 3474 zcmai0ZE##w8Gg?0-j8fAO-ZtCH?`W90?7@@V%4IXS|~}dElCPZO-W0!H=En!w%NO3 z_ikDc6{S_c3IYNa^hbxm%wQEWL$^b#Xc=gsqcbW$7#us}jLtZYGY-z^4~G$a&bfC# zTB82gd(S=R{e0f%ea~Ka|MV*WK8|M%!~|0NomnR{?mB)cbH~u&fS)T&xJ3gAftH4& z+P*HZOzlrQ{$yrTIVki^7fP-(KJ5x5!DU8jLR7iJ$>rQqsjpD>1L<3A5zseyz87p1 zNOy#eyh3JMIhZL2BSF!1^1Yp-0*O9mnnWC}7Mjr}5bx+5ZGym33s+#Vf#m|L|8E3I zEJM3AutchU#KIz20?mWWV7QzgcZ)khXj%pfIcIv*DSGld+DrsfUWtH)L0(=2CKoI4 zc*>X-e*NShz;+G#@N_fje+$rbv(!_U#cSp}YDCL6M5r zS?GkFL=Ubvkhzo~bzzGHTF07By1@>o$frPCM`uG-qq0jopS18PDQr?~)R`_bVu2eh zd>Wsj7B_1Q81zbks~EJZYOES%M4hTc?;`Z#vj#R0^9F`|$dZMPxREH-xVK}fNRkRH zk5EuFuBj;u1U6Z?8GU4gO6;0O(I~G4QxzDna0@;sut=dE$`Znb3=r%dY_YHvw+dKv zw5d2*&bxlVil;g{cYhd5149B!F7K=)2C>b;ZMZ!|xNq7i(L`$%K$W1{?3K8WSlEHj z6A`bpC7&+`ijDWou-)1kqYM=~cgY}kTDSva>@)^Bw}&wCpCm=*|`nxCY3ehDwB)$nKf3 zaJQNzu0LTw)}fw5jb)rYE*tW)#;-RQ8($BiuF_^@$1o$`J*b+86ONxv{H!)!f}+yX z0ze8F6eP2FE(n4Al70jhD~65)ghG<8J}Se8s~tpB;QoFT`h|j$o&J?3Ry5EIcX^Gu%UNt}F|aC26pg*h;|Y@(p@^K_1I()s z)_a@0d*l#)+JXTy>;|>Tdu60hF6P`@Jb6ns*YCL=nFdx`4tqYYBFW-nKXC& zgP)#3&sbWcgVD5c3cIpq_gU;YhSu(1U{3{KIEJRQ$vAUqlR0D)c6T~a!M-^x&o-%C znp7?!eEU^O{c~ui#&Apid01+(=LZCstNu`|Fi&jTiR2m-aS?yT-}sI}a^wY~3gn3T z1X;F^9P`MN{cNWL)F@EnZmdNK83ec>g z4|DDvg^x!l^(daeWB48(r=O!ZiKp;$JdLw_pTo0wn9Dl-djOcm1i#fc96C#Em zi#X=RBD^G4q9WGdWzmV#iWT?Dz7TemyIch*lNTwG!Ynh0VVP*fL9XIx7fTqiN&c^; z);;8m#<<^L1}0Z~@k4x(G3t!>Ic9SoF*raTf0;}+8Q%c2D|7WOSuJ&ClXDt{926&L zL3ZqghF_VI4X%;!M7xZ3`HU1QVOZo zCPxHo@B)5R*NM|1#e;nE)f4;64hUkJ-;R|e#5_2Z}CshJN#Sl zJF@BbytpnB(?5_6Z{bP&k(U2V%YVU(WZ!9GdKQ1jtM~`4{ZrNTPU1^6t99k-+hh*w zO4fvRT|r%0xj6kjqbir6*T+@mH2yE!r7EY>)79L4jCFl6s+>VP{DTx$j$DqDB|w)w z#*!uW%JCV_j|X?!#O$W?>>bY1C&Kdyp4W#|JIw$_MNC6iIM0gWj<^%EKm WyISWqL{gavXR#KU5jdu#p7{?&XAoQf literal 3443 zcmai0Yit}>89jF&GwaPXPVH=xaT{pUmp!)YHb7d|txN1WZPK+JYS*db0vWF-_9VNr z?(VFUhVm#0eS|`Jw6v~Tp{OdBLQpVjY-pe*AmS1vQ27G_frJD?2nj0qflyJyxp!tC zaSi;~nLGD>&-0z{yL;iCS6>5gGv;(e1X2g=S-We(vAt5){R5ePFI$*&iaKHfO?5}% zzCgTi$a9K3%&60x?M-zJO&oBtez!n_b2#hF_-?_Y;W~l-$~I+^rL67sdsD9G2wany z^2%Lxew@I6*Kk#cDwo;WtWzrW70RA3eT$s}+HJ1q`aJ?>Yv9N&bPbjLnX*6Z7acp_ z-8L!^>tixWL~*%+%g`hcZEYKEfWUeKYhdWuAaM2njUb5>Hc10(rD}_T1|$UTM zGKKj5T)8wYcdj>Zt=wrmRCIl(|L{zaASvuyLQDd8wG)CO6)gidpf!mO+^D1TQV!IF z4Rqlq)^y78N9-b>gsru$uBu_#rJbz?-Y10<6dSd3WkxLU0R!7`3$?geWkAL)`Ho`H zRTX2EC`0O0B)Zq&gXq?g7PzvGA@8ze;5OV&6sp`CnJ$u~0-Hh<6i2IS3Il;V415UN z$q1F$_4T4*UaO`m&}ZOI^b4#}s0Xrya5V!2y90L_xEmy_K}Xw*Q{}wl`K)-VwQc;} zSn9Y(VBN~jN@5oV3=Co@K)5ewmuRB70-#DzZFWoCKWyM$3=!S=5+V;vI?=vupJ?u0FIpFxyg~>rXuN3N0U}w4B6n%7HO!mWGfpopa5V*RuLXA~2 zZ5!3`0AsA>s^Upv93M6CG3+D4ZfSSX&AYxk%TU<5D%1%BS&4t5R7W+(z4HXalA<#53&xm9I7ni z>~YwTD;mGnTx@*J54$QpD?5f6dCno#Je+X+Y~W|5@nRH}6<-BN0iA+m7SDwnd`Uk7 zYZXI>eL^8gR~wZ{}OKN4p)xi#@bbOqfCRNlMLdu7vqnbd;&TW>dkS^cSPO@d?zT$QO{>1zecGM z;d_I%gmqT*44SR8NR72GVdEK?3rg<_KAV)~JNUev*TZ%K)Qc;nUZ9Q5cn`ni_j_>_ zZS&rtPT*q~WdzUGTd%-8k4E`g#1>1e;$a7)zMIkQL^JMD9*jUY^dRJw5Zc|wx3rrG z3|?1@HmRZ-qOIL^HWF1Eyd44?ky)Zebc974%`YOhAZ@iTqK&`y0Wm1jF|KYNoX6$q zxV4D)oAK}B)(94?&PDX3V`gj_zpy&wI&Q|7k&^4)x{cTZ^>?H-Q+w_E*p=3!+YaAZ*VglBs_bMIv3m|JmCqH@#}Xoypt%zlzjqcLV`iKVMofJP_oow` z=P*8p=FT5rd=Vd+LxY)MoVJ-@4(XWHX~q^YIgd^029-;L$|ZnrTBX!Gj}~fVnhw4U zLoLR?PJp@U4aD*b#I}W1-hvtY7JtEC`Hnzx*Zy@a>$GTz2X5y2@D#c8ny-xizkir9iB(T49R zRveN2Agl^^xhkSWUZg|{K6@yFjiMQ4uA*oW>lm>{{$ES2L(DJExZhv~8dv-94Lrn5 zG{*Z9vpGTx4)Rian6e4R*U#)qT)jnBOI_LGoJ9c##VJ~loq8eU-lzFiTx4NCGoZLM z*tv|gHEIp=ronX!}>aEf06r-Ge;Q=2OSy_ZVQv-wHtdstpFyl)&E{VK|&q)gDibDFO6jH5CjtJs^65p(HV?Ru0_&W3a zA?MDI$c-P98_VR)8|2ajqWV*^=V#=_&v7f>L=P*P!LN7~{u(*_hWP!CRezHe|2-}L zk(U32)A%!9Wwp=YZ?yV%`~?3{b$x*N63t3ox%vW`!@80+L0zw)uB=>?{+?Hri_z<-tudA?woi`FV17Kh$0BAu%j_M_ z(k}()lRU2tsTP_A{>kz4FB*TFQ2d*t^Bux)QKb=#*7j-|?F>+(W5GtK1kgkGG62nL zXGhd*s{u&j$3?8pmR7Z;Rc(Eh5CmhoOWEf2!4#hU7L5j7EnPw+l$l@_$3rs$&nl_s F{sU7$21Wn? diff --git a/libjava/classpath/lib/java/io/Closeable.class b/libjava/classpath/lib/java/io/Closeable.class index e47f5e4dbbb91ecf57b25003a0e66f1adb12e5e2..68ec82094ecebda2f8cc580073db4b6868f09591 100644 GIT binary patch delta 92 zcmdnUc!81Y)W2Q(7#J7~8Tcl0>B_P*urV@-XC;;;>gOcprRzJEmgGC<xRH_T)W2Q(7#J7~8F(gg>B=!OuqNl^7pF2ZFl%UrF*0zuRwSnulw{`T6|*yN iPAsxk1gd3VWC5yUU}IopUgOcprRzJEmgGC<vk iMc5da7=*zli86?xsS;<9U|XEF!!ZYWUDZ_!$JCB5Vvy41!>jgc(H8REaW(fkcF0)&V)<6w`hNX{JMy9atOy DNJ0#f delta 47 zcmZqRY~b9mkC}1P7=_O#yf5j@Z5lt@!_q9|I`BC4}`xaU3Rdu}8Y360gd%oe-ORd2T0 zU9OXbJCG^Ouw*Y*$vzayeiTU?!qSela?tj>`>hT(4zqCt9_h5>?jiqCCf!VWnDil6 z`mtJ$bJK6{vQAh7yq@Ou46kSHFV>L%0+WkOB1|r`A7wwrew6)yJ-+-($yGM4u`$fX zbv6=g+`u}rRz}c3Zk16qOCs6l$u$kPkR`WSy#ue@g-<3>D)&%NZjebdk=x}y4v?)f zg-)_d9^e!?AP*5GV=|4nOxVtfnUcqpKcW07UwlS+it-nfrzoGLJVp6S%2UbbUY}`v zP5C^lZz*4(+@bsfnh-TuZW?@`im{vDt)WRIU=b67#4;D2aOX^3um!dxu z{naw#(sGlh6=tOdO(_}FO0!-=W|M|Z6S-5XOtV&-Jz8U0wZOD#k!ja}>Cs}-$NeDp jm$-{@KT3{qKgHc6?q88}+`r*|f%~-9p#Xs0l0W$$(D0x? delta 690 zcmWNLTS${}7{;G}^uDFrG!<>jEO1dcb?%851RW?ZBAb&4D@Me} znm8e%12cn+NvzBc7gEGZx)@6NnOPDPMOSqb(sT9Wd*0{y|Gq>Z5f~0R%rB zIvp1)b|Fvpz$NV{m;I=aFjmV!)XQN6<*4Ox_PCC-agvQwD3sGy${F{ZWpa*57n2A| zC5pAu!%fuM>$>3T<@GYJS9pzC-&}Ez#U#$;I+H&3``J&j-_O3+$`stFy2-{ZHg25fsTIxFrLhJVq0_NuHpU+$p0tKz7Je zoFO}9487zfd4?o8AkUGKj5V`tylR~CSCqfzi*G2;QvR0mEamSg&r&`?c{ZIba+{VM z<&&&VQT~B)oAMdTZOT7UZc{!>xlQ?J%5BQ$D7Pv9Lb*-(SITV+%CuEq5-a+_m%gJ| zexgi%@x|ZiiIS^}B7gW_f8mq`6f59XgEhJs>$DP^)r+m_LyJ~ppVlC(wKzteP(Qk~ z4p9x@8X4Ch654>IHsTJqDP4jgU5W>qhm7Xqg*q^Len>LtsZ8RNPZVu@xb3`l6dG(rZ?ql5d iaW}yIeR7!lG45V+|DMcoKgs<^?&mdxl>n^p^3nhM%b%VA diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class index 0662f872473b05ebebf325244bf211c733d14c31..eb606bd3a98ead1a890b9bada9d9407b1fdb8f3e 100644 GIT binary patch delta 13 UcmZqVXyn+y!p!(@GAr{R02`A8U;qFB delta 13 UcmZqVXyn+y!p!)0GAr{R02_`3UjP6A diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class index a95eebd471a32aeff214f4ed39a8d1e57da9f1a8..05d09e224a53185f13b64d8eac44386464b12a51 100644 GIT binary patch delta 35 qcmbQlHi>OR8WV3Y0}Dqe11Coq10P5Dd9ykO!~; delta 35 qcmbQlHi>OR8WV320}Dq811Co)10P4&d9yE(fXr diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class index dcc37dda2b4d113fd69297dfe73377d8a0e33819..911a87fefc217fcaf6089c2427b6fe8ae97f6635 100644 GIT binary patch delta 11448 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 NX!N@bDk;hK{{RGD>r4Ou diff --git a/libjava/classpath/lib/java/io/ObjectOutput.class b/libjava/classpath/lib/java/io/ObjectOutput.class index ccc1902d67cfb306f45735521e7ae6bf91a021f5..6a1172773913df05a986b151eecd6e76cdcb80d3 100644 GIT binary patch delta 210 zcmeyxG?SU@)W2Q(7#J7~8N?@YdDyTsa4<56XC;;;>gOcprRzJEmgGC<eM0&QVp5CZ_U0UBoj delta 152 zcmbQq{ELa})W2Q(7#J7~8AK;?c}&cgW8|LL*Hg>LzzP&(V_{@qXW(F9WZ(qySb#Ja hScC^dgcnVOkAWXeM1VmMO+*M)1Sl&Ew1tU51ORf23f}+# diff --git a/libjava/classpath/lib/java/lang/AssertionError.class b/libjava/classpath/lib/java/lang/AssertionError.class index e81c3c60d33d35b190cde794a1432df925752b8a..c8e7090d43528ae51717a503bb31f779b0a9ebc5 100644 GIT binary patch delta 232 zcmaFIvyqSM)W2Q(7#J7~8KO6GbuedXY4~I%mL=-vB<7{-2bUCO=A~OBiG*Yn<(DTW z<)m6`hH)`4GlcRma4`fkG6*55f$CypU`LMAkDxqkAaP0K7#;|r2tXJAjlvD YXfT8U4FR#j86tqH85tshJSK)H0HUxmmjD0& delta 38 tcmdnU_l}3_)W2Q(7#J7~8A3O5budr<$85vMvDuns1`~TQP?(7!1ONuL3grL* diff --git a/libjava/classpath/lib/java/lang/AutoCloseable.class b/libjava/classpath/lib/java/lang/AutoCloseable.class new file mode 100644 index 0000000000000000000000000000000000000000..a25ccd62254d254cef54572e31fd8b3c13153549 GIT binary patch literal 187 zcmX^0Z`VEs1_nb09(D#MMh5Y$#Ii*FoW#6zeaF(0eCM3};?%^XoK$uO7DfgEgrt8` zR%&tyBLizPNChJUvxa6EBLkOfMRICENoIatF*^e%BZDwP16&5EDmcHiC^^+FGY6xk0&QhwU<2~mfjkx<%>l$*KsFNtHvlGcEG+;4 literal 0 HcmV?d00001 diff --git a/libjava/classpath/lib/java/lang/Boolean.class b/libjava/classpath/lib/java/lang/Boolean.class index 820c590167e77cadc5e47efba370e4d5ad213323..ebef14d7b4b9660728f511e302e79ecc56864eff 100644 GIT binary patch delta 213 zcmcaDbXJ(_)W2Q(7#J7~88SC=$+76LC+FuDBo?JIGO%hyMQM6+F)%X3^Dx*k*n?P! zJPeTxQH%_X6+m1$S&c<~ayZLQM*hu$toxaLV}U9pfo3@{FaaS01CP`WhB#>;-o}uy z2FPb(&;pWdKvfJ3zZtZFq!>gULlTe$0z3@KKo%ndCqv5Q^Bnq2jO>#*#U)dr=4wLC d<9}`15gD{xR008D!A?E-9 delta 143 zcmX>rd|Qa?)W2Q(7#J7~8Im`0$+1ihV^QVeVqj#5=V6Fsh?-o@vXhZ-vnlI-=E+W+ zda(>Y7_@1RQ}XV}T-)Kru}QCLm;B;MCGSz`(eTA#M$j!^EHk YB-y~47{LaBlrS+QfXPG#VKAKp018JHL;wH) diff --git a/libjava/classpath/lib/java/lang/Byte.class b/libjava/classpath/lib/java/lang/Byte.class index 56635ac580c1dc7bb6b433af9cf680589dd23fee..906aec7d7ccd79d9fca4bf00fba3c9b9d98a3dae 100644 GIT binary patch delta 180 zcmew?ep`a;)W2Q(7#J7~8A>;D-C$8-PtMORNGwWaWMI{Ba?cWHbV|jnJmy42L>h}WMJTt+QASg4aD0Ra@PR) zObj|ek`1Vefw7rE7swWasAI@y;05x4Iv5IoEJguGpk0NNH*kwH=1xArEyG^~lw)Ej JW)KF`B>*d)AvXX3 delta 114 zcmcaD@mZYf)W2Q(7#J7~845RY-C$7=)$qwmEKAhSNz6;v_fN`7O)jz4^yFe-WXR=V z$YjWxEW>)3QFQYI)+elT0**kDY@n1Z&;U&aCLm;B;MCGSz`(eTA!o7yj|_hvP=tvg KpFtQ*7XScR{~BTd diff --git a/libjava/classpath/lib/java/lang/ClassNotFoundException.class b/libjava/classpath/lib/java/lang/ClassNotFoundException.class index 27239e4835913fcc3a2dba669d75b5eb32ab115d..fd984dc9b55b53483336d4c3627c3e09a3f35ac8 100644 GIT binary patch delta 41 wcmeyzHj#aTshnC?Vp*boPGVlVeo$&!PHJ*VW?8C#L26NANoIcDMh81)06mZoGynhq delta 22 dcmbQp{*P^fDYtM|Vp*boPGVlV{>ETCW&l`(2WJ2P diff --git a/libjava/classpath/lib/java/lang/IllegalAccessException.class b/libjava/classpath/lib/java/lang/IllegalAccessException.class index e5dd5b449a785db8e29ccae7159b2090efb142d1..2091af3e8956ebaae29c25c9a9a66293aa19332d 100644 GIT binary patch delta 41 wcmZo=nZYu_R8B1`u`E$PCowNwKPWXVCpEbwvnPwhfl$Ym z8JW>P$YT|iR||@$Ao7q>9s&xY;#&$nK;`9YoN)$GXLLsJyJ={n{%|sT_xtXiJ$vri zZ#P#%r$@PuU)gsMKnZ@>;a=!4oVBsWdEusr8v;*yupBD{M4a0q)#eDQ?T*Qg=RJ5D z&nUa|alO-nJ!lkg%#B3rn(H;}Rqf8~+xB}9M97T^c-@18IK+V3`fyW4vw*Fjs<2YS z8v@$A`AreiAM|TD(wi0eop?(iU4^yuAsXK1FdB=R&5@?YhG@7sGRut4Z+sxqG}?6I zDE3>A;~u<+_f@$zX82Kj=)pKNYxr2e*Ml@;3nERk=f)PA1@mGL-D=JF)S7WZAiJPS z&D4x?4JTPxp=ptRhA*7>TwuV1;RWI1x#4JCaV1L+*Rli;zQkz(`>ck#2L2R#L1k58 zm4>gB)0HQ_QAMthYIOZ50=w>W*SOot*+G+?Er;YE;4!*To5igYYAfdw#r$+I3i5so z<2bDcho{h=GoFD}90|BAzmsfnkTnBkhOI?^w$w&G zYth$owlE=UpU z>J{rkds1wNddwHdd-Q)$8@PnJedB^pz#*6M>dT?a708q;VM>*<`e5WF>~LWt&lsOJ za`1C~;tlo>avf8wXNq>F=wONsOtDdINb}Jqp0YPBzj9j&p}m*zg+Foj1%*My{m#sb{u5W2w+$VV; zoGkeSG}(>ox%bMGNasF7p28sRtwQMWJr{M!FW=fLbV+jiCnmSw7S~_tD*$_3-_}|) z`C1J)B*1Z(QH;-%>b>>*P6P%kv1x3m7dgs@WNs zqOw3Ic9+_y)b6vbM*sa-Iz#W;gMEhrIh{CA>hL+d!4Bm4Y_^W%=wWNrR%#C{A<=`` zjC_U_bs#4N_GW@4iBVo7TO3e9W7rKxXXwZF;2mD}-A;VKAQd%A{QUMKe#?BH=-oWj zH_SqqgthRQJ*AEreuJ@Ru3^9a2Ua<=^4qeYQ8v7k1DysUg9agsOqi650NsQV%0q~5 zMi~vp9puL(D!_CKU?vSggo23CP%NThc!Y*y35~!~8i{38inSC%JB`978jCGdhMiQ7 z-Bf`tx*Z2;98S>$oS}*MDL|9(Gu??xRE=NhE&;k*_V4QS(;tpTb2xEhZOg jA)g!TZgT~S4uie=_r=CAtDY^0#J7p(cNmc9#rJ;$*?MTf delta 1537 zcmah}ZBSHY6n^ge?#JEBBJ0ilU_W9BYGHS9m(g|rky0YVW}Hd0aQYF9>;Sc4gHRid z3pM)rKD;jn^s3>cAz0tL(Pp%I61guYu_Th*|nQGzC?JhxQF z#}ecxn;JrHPo77{@XX5R(c=>d*2k)zs`7`c>TCR~;z?3!mNwOet3wSkjtal*OpRec zK@7)@IDt<^g}f*whA|_`&?w^zu~W9oF?zmargtx@8Np4oR(qe03VQN;pXwem|+(!xwetKJ= zCHNqWY&C4`A!M_MkZUyoSjzG?K*yq#z6C04MLK&9ZuWdq`a9rCWH4YSeX-keXUVSF>g}My*h?hQ zP7*JZ#72_XL=qiI5}p}}*GR%_&3>diiPg@qyK%G23+dh z6B~t329ya>iFQR63IU{|R5SE;_h_KSf8nFXcVjQ;zv`{@)iT(u?c%5AzalKMn*nJg7Bmwj=cj z+SjNb44{A5>*~i~P-oVe@_LYE)@XXB*^lC^CaCqcacL^17ugi%>wzmNY$zcz9V5ba zr!**DvjD^{#^WVa}gc?wM22$iS8#^=Dn)8OVNc==r9a}@=A9!j_w_i+pE=T=nkbUex( z2yrLYaTlK98Q8!x(Z;jT&a<(R-;N#JgIzoad$+>ABT7VgM0yo_(GiHL5%Z4 z{OaXJxXz0)$rs}Wze@tYTgv21B|k5f3iv(J3SK6yA>XD!AaZ;USABBr!z9JCMT8_r!q2#V$(61kI|Nqd9n}VggBrU21W)R zptYVrGnj!iyOy@jb_U6fKqeCdKak`C(hLkC3~UUc3<5xw0z?^uAcGK)2h_kI%^(gm T1jLeIkOit{WRL^$m>A>%-R~#; delta 37 scmbQv`k0yP)W2Q(7#J7~8KgFHu`^E2W3*yqn!J*60=ooIl!-wS0NeoyApigX diff --git a/libjava/classpath/lib/java/lang/Long.class b/libjava/classpath/lib/java/lang/Long.class index 7223992a11cd5c1f0730b069727f5aab289dd784..69096d990217b89c85c265f477ae069cc0ad1860 100644 GIT binary patch delta 1378 zcmah}YiyHM7=FI<_P(-}uJ?7{>NaH;SwUHmxdL_GHqnTYL=t0YX4xP($x_hGY}L#q z#3B=wxw2sVBnVQY6crayoRy+AnSsg1Weoz#ClxAvWM^34!yAO zsY!h-30Sqp*shrGdf0>bY)}o4xUe^+YFm7jYGiFd(*`un5$aImJEB2zyEB#U3_8=D z8=^snrQNxYm3_M6Xm{>sWq;>}xncqw9O8cDiUfjUBT7XRmWXCV#in@$Hp~=QimUJ{ zyn2DJ;lNCRQ5f|Ct!l7M4JJF}ao56u2gI)^62GBJ{Elkz z2WrG6=FVTZgG;`P1nwcD?DbXVOmG|ns<903$|+xM(PWlZRt)34h=C$Tx8Wt^9K&<# zM=+VKC>+Kq8TPvuOlA!cW5wg7=r?QqLFJTe@h?#(WuHHqt6B0J8y95ovAp14%n!am zY03i&dEp=*oaBd(0w|yYgeZtIDnyu6L@0z>x&k*+F>av}tfecljuzowDo27U&_tC; z@&q5EDs<3NbkVhVf~xTpMX-xj;CZS+FV!MVt8kQ7BTF}6oa!(^H(@G3H{%@LiVIYa zU#LOJquUfO)hUH^yPOVGMyEA&;8XH(h9v_E6bJ6cI_6v$mvENvOh}^}pYz1b7{?|Z jW2+;^U*H!qTHw9t?qA`*G)Odcs)ouReAMHKo-tYaK zbI&>X{Se`uRI|C((ch-bzmR%%X_WK;^R1B#khi%cc<=4 zRc}powpX`wX438HE(eZcLe5)@Y{&7Y1JmqWu}0UQc3=+M6lh!1o$Z+p9W8jrfp_s9 zZ*A#FbtN+j)UuZHwL0F%2UeU@P_V>a%Zk*Nj6wep=Vi*4)O9HM#DQnASB~1gSIUn* zW*^YA{m?+1{7n({p+XE~BgS9qx`>6nLBks~JXf?QlG>FBTf5!Ey(*zd-2r?VuR^*FTghd-l#cik&w<94oqK?nK5J4j}o`a3oQe1=Q z;p5A8ynr!j_mo|g{#VH7_MFbJUd-uUVqGiiy8cIZ00-reXMJrCG|>x($igkQBOrDl zDjvbLqR+hV;1U5Q$ef`LdH{Nu6BWDYl5$ z=|xHhGq{&1F(_~BEX2udGKX65;%d|tebB4!ILxYr?&lkGCC(#H%p)i+n0ZFcSt~)O zS>Qa5Gs%|VNwEn`$+*A2@hb@NHLT(r=;B+f5Z|GI?V$J(#o{Nd5CqIpn22m46Ugc$J;TLViu3O4|&sg`i>KrovA1q z$C;Ss(Ogx-h#%L8LsTwm>i&?6}9M$7e zkQ(qM#c`Qd;|et@PHIwoRHqbCvuq4iCg#mv`;`J*U`s_vaiJA$u%H@$;v(;97{g9{ m#D%qD7I&Gwv%8Y~A-N<+LO$hVIT;E&KQ;UQ84Aty^M3$(QVF2| diff --git a/libjava/classpath/lib/java/lang/NoSuchFieldException.class b/libjava/classpath/lib/java/lang/NoSuchFieldException.class index 4ead8e6eec11589a8b77eb726bd7cb89385074c2..6dbff7efc378b2905aab82d83b162746e07b70aa 100644 GIT binary patch delta 41 wcmey*Jc(t3v7A~~Vp*boPGVlVeo$&!PHJ*VW?8C#L26NANoIcDM!SQI06nY^tpET3 delta 22 dcmbQl@}GHvF}HA5Vp*boPGVlV{>H$Ai~v~@2jBnz diff --git a/libjava/classpath/lib/java/lang/NoSuchMethodException.class b/libjava/classpath/lib/java/lang/NoSuchMethodException.class index 47cacd0af19e9c5b97c24fca5ede6437dce53aa0..b81172dd5a4569aea429d5ab188b0005531c73b5 100644 GIT binary patch delta 41 wcmZo-naVQ3L{2R$u`E$PCowNwKPWXVCpEbwvnTj%mrN5|^a*Md?r^k|@H!*hC>P1+_F z)SC~Xp8LS2pfadEN+J`qHkVy%U9r|><|eQ-08B-K#v`o*y5n{f{hP4o zD6-sh*j$Ue`M@fyxkeXbzk8B#t_4bg4T?Wvg1cg0gh`ZmvVbyI3)rI4YV(biE~bVF z+cf{&BTV;IDS>)S;}sc}RZUrYjBGoxl)Sj)W2Q(7#J7~8LAg@u`01A=jRqA7Ns&WuxbPcYkG1qFftVKFyt`gGBPk$ z0CDAH4p!sIuB=ZP#W!oS39!{WFfaij0|SrL4u%kEAl}AMum;FyVlV)bY(V`CjIBW9 z85qPM>KKX`c!4~i4u)bNi;;nop@g9nNGk%xY#5k9Iv9kc1URY$8UEJ+=?bB;x`xT< uX7+*2XNUk9D&PooY5C+j9&sIXHvpA^+yHVZ6GH`~ogB~llu>N6E1Lk@HdIW&mFS2m}BC diff --git a/libjava/classpath/lib/java/lang/reflect/Member.class b/libjava/classpath/lib/java/lang/reflect/Member.class index aca4f3daaac2ee61ab9c82d6e98143417055f8a0..083005b1008f2f4c2a1102140f840fdd74fceb96 100644 GIT binary patch delta 100 zcmcc0)Wpnn>ff$?3=9m04B`{HCMj_SXQt;RmXsEyGBSv1X!>L&mL=-vB<7{-JLe=8 u7u#srO`JJXn~{MRsD+7vkA;zepFx0u0Z0on2!Ux~1`(hfBZDYdg%|)=WfPkK delta 57 zcmZo-zRJXP>ff$?3=9m045AacCQUpzO__m(k%50%|Sk21*Uboe5!G=F!vej@R7u0Az^Mby3$|@m4STjxZPiStId`{W)+LV!Mi31{ z;3*v%LUMOPM;H;gds;`ozdNZz$AG|K(Q?eiR;_F{Zu!+msheS!jD{u89b=%mVR?*y zL;+H2ilJFv$*?WfO~$NTYnZlacoZbE&(G746c|>8uwx5L`!@np$fYr3wVj?s%A598y<0n|C3G`rz3b7uWEROVjfB-{dHVImNGDY(WtSdIn2nGz9ul* znT5l&Ql${CaAw|>jUGnhr02Uu6dzjzspT*y6U}pWl7-Y0+(USs@RvfM zhFZd(;Sh>!U&6dwv0I+C#Ucb2bv%P-L%1p3wq(cO3*l{naKdu@qXfRCA(G?ijdxFnMO#@Rz?d7iz0Yv3o^YM?$sa7jzTCJRDu3`Ed!yvtn z^K_pljcYEwi=jk#`v*i~f$;W^=zoZj)m_B?OlNj5mQL(oJRJ+{U?M#l+`;6pjOjs~ z|ECn%4D(#U5UygJdY(j{5?n_LbI4*I3Hn_iJK|u95%QB$JcZgxrafvWxdzluvJLX} zL@6O(Q>QUZ&d>2K!1Z}zY0U3ek>x5g^`(Eq*e~4p)Pl;mrr>qop#wjJG}Hb+c=ExK z;BwdC3|{C2*AP^7#p8q?=WoK;zK_1%2k|LGTBsxsfrGR$<-W-l++hQ1n1F*x)D=vE zO$0^VlPIoQC<}|r7ZY!XXnAp;caL9_#QFIM?+?53?(Z5raWwejuECtv4)R}QBHOk8 z5V_TK8|T`%xQppxCVIJzt1B5vsEz9@ndptZ^MpLpKKVTcGSLNT{t1yx^bNUViZ_*g zY2W^q3T$KfpquCTN(MgR=zfYAKBFd|a~!@Pt1od8Uvc!l#tq!VBEG?Ge2e$-ovI_| UbM2@)hU-}%nD^UuG3{0ZO!mUZ+A zoZPUsth{U2@|AVVb*1CwZ`zJ5)heIp&;*A3d&hFC`Nh=@S!oLB9Z!K|sdscCNHry3 z)N7vIv}>+_C<U;8rk|3oSiGAlGfAPgCZh;p$b^Yu zflxYA)-fV5aR7GSab(qUW*XJjrgWQg+Z9Cp z6Hy!!7%bVYTxe~s%EldQ)gks6sj-~0)v%S`F>1|q+Y>nTm0(h;WL-|d zXx5gR4cn~>9N$mrPdKnn>BtM5uDY%K0iT82!R2hrcGhG=(SO0jMOw%gf@wSN_2y}lP+eS;%?w3%U?C{CPAly9X3Ehqba#vaax|e z#U=zwCdM&gU_rTUsfmAR;I=>{WxIi@3cqXOMb&<2we_)jN>7H$B1^SaqaxMo6d2fl zq?3wMZJbp@eAODan_EpOrgqvtxzYZ~edZaVkBI^LKSS*vHJ#`A>>dVFk)59rjcbve zUvTUZVk>(%{#Q1)i_vUq7bmiDZ5N5`X#Xz8eq&4@PV;}l&pyRG(-_8eBrt>LFpD!N zAcGsoV~#p-nYdU7Nu+oxN#PW}q>%RclESL_l0w_Bapzea)b#VOnxs z+?OCWLuBgOMU6WRV5K60bNw4#5f7v0%lD z%WwlkDM+aKjl8h`>vDBl);{q!{Fx1FWui&%VG7l z5?qFrTH#ZrUb5;b9x24->O%reP-vD04X`A)Xt`B#o0i)pcW5~&xl_ws@L~!!x}{@} zbd1TpSHzLJzv4#dCmKMSWDr9n!^n_~V3fo&WXzCpMBHcslhi0{Y(HgeKaClBYZh}P zKITbs$VWsASR`38PHkhEY8yd%;$e?u|3@CR-^0cM6*)L0adAZA;MkB8Lr!&(=d=3PpML`k`z(?G delta 793 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 diff --git a/libjava/classpath/lib/java/sql/Statement.class b/libjava/classpath/lib/java/sql/Statement.class index c383f68f6912b97dfd5a488bdd60cf57d5d28cc0..fede03928f4d95c1a28721edbb7a3d99b679625a 100644 GIT binary patch literal 2060 zcma)7Sy$6Q82v`7AeK##D(-vh0`41bB}}mr3p6b*JoJQg4#pD_%%b2=^T8kBe^R_@ zN*iX%IX?8X_kMT2<<8RIe}DcWqPwK`(;-I3znI_5nc%B4V}xcXHiaAZQ-;xKi+4hY+%OuIrAE0@TI$=~-TljGn1A3} zy~Z1*Vp-?&G5d$ni7KzvtChwAukdQI#^)Q0{G);FSS)i{u`R496f2SNcNpdKdUsAE z^lf)zwvbS(H~Lf@aLtQcOcfLFJYOUtbPt=6 zZw#H4L}-1Uw|$&+Y$iBJWiGp?OZFmeqa{gT4zN=lN8XBjU$_>|(`Y(U+u6eK17@>1 zXQCvwspV4}?486m%;XDe@eM)(WOVnM+h=+=fRW>KfQjOY3&IsX4qJ0k>|oT%9w)9` zK=NFVz*;NP>mIE2xEe^(J3Bf#AUh)en>|jFHt>z-G|hF}u|rrpXn2utiIN?^LBpLV zY&yP%c(1U-_#7tOO?(FM`)K^e&>--!6wU$=9Jl|NRu>EG_NpRVy3C2FbfLvMqlQ5j0}3LYx&QzG literal 2029 zcma)6Sy$6Q82v^H)w0X#zM`!nh`ZtjVG5O6q-jy%p(mtsFr1KJ76pHr5B>oElj2QN zN|-6<_>^<+cfak_#d^4u~ulBSa7=hRkPLQS)qk#r*8_w4B z%I3B(14hGIaYg4fty(VgQl(brdbL<##0rdhHP`V2!wJ?5I}{zL&ln9YbN)e+Mw2xUQY)15D;)<12Y(s$@lRZDrMMm?CIbqI_`lOwcvOwb2iY`Erz4z`Mj_pT>m5vGUDs5gko@**(5ELa{cGY%6R zq%zlYsEf}c8lxeJ;TT}6JFdJLdY*7h+^2zLq_V$@lS;TDBFy+Kldoo+yH4*(A)a8&PX0%vFfKgl5)M#m9!OyN5UW*oZX z%z3&XF&F8Q#9XE;5_472TvIgH>4ubbQ^}f8vTiB!+@`ElC#Puc&|OJ0N%tgXil!yz zzB11YJ&-gHl?fjyS&tRX6Gih>VV)_>b7hMc%BHjQQkw7;y_T36dLuD!mEFf_PST9i byuxS_Gf4{y!xbhkF^k7HMRck03JU)Kk{Xj@ diff --git a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class index 53c56927c6db890b1f35a090e783a143c03f30fe..f38e62e285749cf22c0af897e52dc9aa49a6009c 100644 GIT binary patch literal 1023 zcmbVL+iuf95IvK)abiqrQW7AvTvJG#Lc(*ZN+<})QUQrn5fT?^ovcz<#;NQzD)0Od z4-pa%d;lMXn03;ipr}GT?0RNr_RN{HhQG%tdZ5x+hX}yC;zDz&*GCmT1$QoA;ry~&#MI2~T*ODGxJza0KxX6NXGq8B#BH+JRo$|&DjNyZK6ro{ijPj zW=k3-+N{*NYx714?%oX7+?^S2xK(3@n_oGa#}4ncEb{~JZ@9)=Mtg@XyvHq$ zxfzo>ZsQJnjF+*>WtQfnxz;mA2JW(LXMA*4ks0K0kI!s8Mw9R``FuOiubv;DnmCF`pcTkijYQgx?BH;0N+(id z!Pt7FPQ%z{q)DUva`)w>KXv=%kH2`8vFQe;LQ$BfCZ~!l3YWxQ@N$G+I;vPsGgi`Z z#ailDbWq0lf@Xf z#Y_A|$dfHGev`O3vrKWO=$IhjE^Nx2Y^a;t+(mamw?rd}F)p6Bl);Dhd7tOp{{Qno zXKU?&`oNK!`-XseZn&^1%Jp%3sJEw}KlY3}(6nl!@rqHGF;nezYm(*zdaJL#Jh4o% z(D6_@ZERkZ>K3=*DDCYDmst^yE=XNzCew!baypkEvb;|(@IG#I<{WylCumD7)7#vJ z`ztT|8BwgLwjjk5UHi47xFgfv9yLreoodUN$wCe)LQf^TGO2X3JDTiR7fnRllIv3) zE)FYho9Dj5=-wbOZVutIj(6NBzVY%c6MDPn;ZVy0I{DaJlvF}bc~+|v`Y!L1hDm~j z{GcdmGuB1ZM#uW3o1ZxC;*=tg!)q5~-I~qaW^$94pE;vn^=@%oP~4f}RoAX@q zQpB%1?wc;S;^iDy_f`~pl&=d1-2^bXos4euzvSD7lQ;13CRMzpcl$e?+X=EmR|T4# zA5h3n-5GdL-PpS)uu;8kr%VRAlY8VGkWzyz5;dzBqJ|L~8D%MBEaxDrIZO*jc|nv& zF+n@ukztb8IKdXCcw3t5Xi+YK z`9gY2G0YzJiBdB}rJ+ImGQItLDW^yBo)m5D^7qH$HTKwNlw=voGTbjFTTThL{81i? zl~;dMQq?j_zgVmiBl!|z0$m{SOXIR2gEX}U#|BtFT}w_ zWI3`nR_2V9ICq|g7iYmIbKob3E8e3dl5eMv!brs&l_`BPRH=T{e}{S=IV-u2TR2ifMqDQ-N=EUE zoR&V1;gTDa4RXHKDk$HgIib`57xj2)ZT&fZ%f~lKMG=hRSbQ!j%jHkRGAn0+RZTss ztHYIcSy|m2zN2|4$MF5USW~lN&7)OB;({|@qTEtjb>dfDgjAZv%A`hRxL29_S~17yNp6S1ToRX%oq)D`mTh$dH5iF7Uvi- zgVyV2lV`bnZ;pEAMlVwA;s;^Ime|&CTdd{nCO233F`se4X9LFdux|DH?TM!C7C$jz z#JkIJLzt7*Yd-h7U6b6jn87WR^!{G(i^VnW3LC1{+sY>j$2~1LXvN14%4jovzIQ!4 zak3i^A5qE2CR)_${FGvh`J!l<^Dr*D%v8~W=3dclsFgY;1VA=G6E3qy>o~v!2f4~2)!M~%jxfnl zZg8Ai^mALI?`ZTry}i%PC=YacsNW<0;7_LbOLF*IN*R?f|40@8N|gWPHU5`3cq|)v zVj4=0yeulTSFJBl*{ihPT%8Le)it@16U^+UubWg-kEW}0>x{VZN`ZOPU%56-Qcp4v zr?L=9tvpZT7gV3YlVV|G@jwrY2mFpuS9bqRW}jlHv4`PToIz)GO*h}Ii3FV?zoVNo zHkldsFO{^ZC=E4?a$Z$QrZ1E#Y)iRdtDVvpaO(c8X{w7h)un;*&zKp?itoY|Dt|^i zW)78B$Ys-8x_{AC&2><#*_L7}hCWiAu0+keu4BfH2J-E@V2a7c450pjXSPTWKbw7l z+T3g0Ht9gnuSVTDrdiWQ<{AIW diff --git a/libjava/classpath/lib/java/text/AttributedStringIterator.class b/libjava/classpath/lib/java/text/AttributedStringIterator.class index 9768432c04b9e756c15234843565bfabdee59b9a..6607eb6ddec7aa27a13c167e74f6bb833a2db659 100644 GIT binary patch literal 6136 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 delta 5916 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 Ws^nacs!~_;DIdiWSgx)?@c#fp!Hom} diff --git a/libjava/classpath/lib/java/text/BreakIterator.class b/libjava/classpath/lib/java/text/BreakIterator.class index 7b2538c7525c9fa85e77f7ccab283ca90ef5e278..8e9fd0f785d79a0821608b5c76b97bdae64fd756 100644 GIT binary patch delta 1557 zcmb7D>2p(66#v~e$$KxkK=Uds(n?ckLz=eJ>FBr=$1hc9>IBM^4z(4ekMu!;A*nBE zEpAc71r>xI_I(iwve<&AVJoQYAN>pb;NXmYa~!`oBc8-oYio4+X5Kw_&ieb^bIz8^ zZ!4X5f4?{apdNRIoZs1MivqEr5m{)Y+cuFwq`B@4+Pd2y+&Qch_0?{j2Q9w zlm4gZ2U~;V1&L)?PV?4rMkyls9wkN&$Cc$gqrH!nB(BHxe<+34tz& zD)<$wqLX%CWe95&gawMTHF^@^NZk_C>J10YK+NbeEs2*9pP@V0!NQvoNxUVXgpBwi z_7}+aRds0WyI$fQcsWf=b91YLcj+fbm1_fLIPn2KRIriCl=A$K@G&(iTRqz(`q8Ok zhky)(qvjZtO!;jJcGE9Ph1f+8s-+eCCH7`q4+<14F{24H8vKX*eg#LUUG<5>v|fGM zb3)>H#{DzS+!nLC#%DgE;0)bUE5vDXX|u&S@@jKE!xCShB=gP}Brc*vK<&27-f*lZ zo>5+=kX9wGQNQNZui|S77e+Gr>k?OR_FV;vir1P{5}nYq$(|R)cI%=bu5s&ORFJle*zgBN(W@348UR zZlBNjHPc&?Q-!}b2mE~#x+3&(UExuj#OgqnmFK_O zGKtoq9JCHIt)ru~_EBQS6lvK6KE*NaqQ+bB??X2*k=`@o=<(`Ipyx~KC#T-EQ#t6J zW_o8w=?&2Jf|iG;)-{38F-T4BQZYoU+>e!?=Rp)qnl~6=+4Gm2!;c{FC5^a?iiYwI zLFH9QwegWIIdcCumY3*9_alX433&0d0aq|W^?IRpwY_>6U#0L3E!1m@Z=yL{hBrRz Kb&JnD-2MX)>}YTR delta 1434 zcmb7@*-ukZ5XQe#Y45%5L8L}7v??f6C>UZiQR|~if0 zzVC{trHK2Q_+sLlZ~h5BYog9Ya0&LIH@Rn$GjnEs-Zm$iW(kwOB{*EF(tyvCxKEY?Ro9%>qh| zFH*+w0{!v}=4l+eRbm@loTj3@e71repd=Nr@IC^t8Z$S$Z(42mSwqpHy&;8q|DomfF?H z*;gbk8R6GBvo{p3`aAO#1ve=}%M~|hqLwAvXpS~K`=LZT9L7C&NW|d~P;0|_eIQg9 zF*YC339UdprI(t^{shk@YbQi>`&#^k7R3n zN*r_JSU~Hf)5A^wSeQfPakfPxRn7QLumV z_$>+WTS-fEdU%rh;Gaq!|4ah>vy6Yf2fvkKX%#b*y8RS^3%JPL(s+jdKSYZFEPi3AK%z^QjvXZaqoG4o!#+Wc>GH~rtt8ZcrVr6g(sDT c9e5VQ3p#8s%6yIT?wb5ayU)Dg)r7Y{0W4HiBme*a diff --git a/libjava/classpath/lib/java/text/ChoiceFormat.class b/libjava/classpath/lib/java/text/ChoiceFormat.class index 7fb2c84fdcf932ec345108f8279abd6b7775f86a..a7d8afe1008bbb8b29a57ca1b2b7c0fe94a0f1e3 100644 GIT binary patch delta 1300 zcmah|ZBUd|6n-wd?=Ji93+%GX3M{bf7~8VD3Xw^Tj5f#&6^IlH6OA*iy22WP@f8+E zg_1I`_RO)%*?*DNc+~Ael(pI7=Ja>pZA`7&U2sh-1FS` z{IrYH<)i<+IRxMaTyXj=qqg*8k3Ri*ygpnq{yV8O~2fdy(H;3{11Z}ew0)Ca3F zN&`#kYie^QGFATSij0!_+F*6Xtl6{v513cez;q0hp@Bn&z{3hGunNSx?;)#{sCz^~ z3z}($l%;D`@F*UmDydobl!7O)o-Rw+M`R> zb_)2YIKn}fbT=Eju}u%1f*0`;W$K+`2i>Lj+I!S&q(Ee)zpip_&C-C38F*E}Yv`rT z`jly}E7%1)ldE+B(Wpv&L%|#jaA$X3d3v6DVo*T{9rUffSa(>#5xhsYME2@N@u?oC zXe=@*{xg*%vLaA_d-c*llZ+|&T)`JOLk@%6K8mvnzCr;b>aHP1@wI~UwAfH8F46(R zRB?gM8kXyRQ&5E8X`Y;}`%}Rfex_#mA#rNps$4CEW?-38Anc87r411s%O3t6ldo$lBj`4T04;o&Lo-nxX3t<&q7oDq72Oo?s6_3+M z^diSIWh6#Nm>}=cC^97IdJW1JTuNLV*@s_78SXk zw#KB2b~+T3FP_b@yFN|P2 zZ8W)(U&hY=Kr9O3l@avNNs~+LqQ6bfDZ6v+Yn)C~>Z;b(bvbsGBq=L|J(OjhAJ@m- z*m7i!-z@@WwrekKGN*`s8Z@Woba7vU`UECAiJh!1hI1!e`?0SJGB53&kX(Hn?9R0! zoGm$RQcJepiUVYhb-2PET}U%z>upBapKY`mtvJ}R1tm^HM>h;s9O{A2ieV~^O^JPb zJbtIorZ?~*Gn3KU*lh7G4aKgWuL|L|cppdEj5xf7V?1^Z5)sA+97#w;KR)D0&sO!~ zBaRGg*$#Znk&#h}IL=WNU*rTnp>~Vq`jfLYGqpX)^r|z7(`F@yaJmyIzU0Y$2)27e z_>zuUlCuA8_l$ba;vy76<5Dn*Hdf71q=ORku)o z?@34-1JuVi(|Z_t-w_xO;=5srr-jL7pA0Pm@=f$Bx15~+8L&nVdXLnJGnq; z85vkeX3|F~kdg^vNdZ9%lC6|o4Jx`?X=Pd3-O8zd*?ShoIX}Mld(Znk@8x;VIltsg zwtV8h$uNNBxHuyJBgirgNR`3R#2ds##`_f9k4?N+%!z$a!4^EgUuaYt>J$PDzQNdp9<2{m#J;Ps>vNrVTUK4|<+83-|6{z&fxC#Rb z4&gZlYh|FJ;%@(Kf#N`2RY6UCa4z3XGU9PqK|hknp#vFMqu$<-g6l9$)wv738HGC4 zOA1EO!Ane~#^Va!z?;0!G?+Jwk0pG>5MS$S^ewITH`OmK^=%CLO9R20`kFwUf=_gA zQnj5YJ3*z#+(;vpi4K@nQ8fe6yD1P#zP zfRUuz=E-k`NRLjQ+Mb;tgzzvw73*HP9aah;H`?(iL3C>e9)l18x6Om632LNw-pnzS zhr1zW4;xm9izl#?7g~$h6MTnt^{VaI9ij4Grt;2HMdN1F5V1(__n>Q@^lCcw)D|LL zA42yOdU?Dp-LN0e@|8ACI534i?zN?}e!kV_ia%J8w9VzRI=8g6wB;x1m<2f@JkO8V zZgC6}Ic)}(MH-KSjpTcQC)-oli#*@%%->CE%=)IxrDpw9N-X(i(5ckY8(#pD2tDvt8g z_7rt4a^NW5Aps0X#5mq1OQdxe!3nY? z(s2;)k!2=54`7-s3q>VjhOB66NM*OvdGWI=}2^+y<;3d9?J@Q!o9G(f(*KzJC;dR zlGr^jQ$4ig5t%C-w;S{iWYTfc@-qUFr1#(#zE?|Qzw+anTm5Z)mUUqW#e~s2S&%c1 Y3;dE+nlKXym*JV$p5ZU5Aqs#04;sop5C8xG diff --git a/libjava/classpath/lib/java/text/CollationElementIterator.class b/libjava/classpath/lib/java/text/CollationElementIterator.class index 2e5675ee45ad2ba8af3ed3406440c15eae469b00..b98f01988f53e1c7ad917c2e1be08518bff0ae06 100644 GIT binary patch delta 1503 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 MQmC%5jOS4J2X1kmoB#j- literal 0 HcmV?d00001 diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class index 7a367e68d9f88d7e4028fe8675187da3815da8e4..6c4ac6eaea4e9e2e2ce46f794901b1e8d1d57c8e 100644 GIT binary patch literal 13323 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 literal 11437 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 diff --git a/libjava/classpath/lib/java/text/DecimalFormat.class b/libjava/classpath/lib/java/text/DecimalFormat.class index ac7c7f9bb54aae771beabdfe7e4b5fe44ecb68e7..30d1a9b5bcfb6403be9c2746d547a1e06556da2d 100644 GIT binary patch literal 25276 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ðgF>1)OY%RIck;p*XV{`eYh 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 VAf<+@8O_ivEs5}JbbQ0}{{gL*ihBS6 literal 25204 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 diff --git a/libjava/classpath/lib/java/text/Format.class b/libjava/classpath/lib/java/text/Format.class index 317e543130b0c689bba4692e25d784433dd778f0..f028f402d80c30409498223196227f454b549932 100644 GIT binary patch delta 129 zcmcb~e^P+!)W2Q(7#J7~8PYa#&16wk*YL?oEKAhSNz6;v4=yRn%uBb9_JoL)mSpDW z`(zfEOg_WX%BVlthDB9C#jymaD53lOdUbks+0V69B;#B)I?p delta 82 zcmX>paFd_w)W2Q(7#J7~84@>g&1BKk*6_(nEKAhSNz6;v4=yRn%uBb9_Kb!ImX>7Z h=zAm8gBpq diff --git a/libjava/classpath/lib/java/text/MessageFormat$Field.class b/libjava/classpath/lib/java/text/MessageFormat$Field.class index 9d3230341b6dded3eeb96e66d41f497874353191..c8eb504ef8794aeae356c6cc08a7c558615a73d9 100644 GIT binary patch delta 41 zcmV+^0M`Gu3APEaxB~^L00sc6lf45y1+D-E0I!q(19}O$01yDW02BbclY#^^9l{Lv delta 41 zcmV+^0M`Gu3APEaxB~^M00sc7lf45y1+M@F0I-w)19}O%01yDX02BbdlY#^^9z_iP diff --git a/libjava/classpath/lib/java/text/MessageFormat.class b/libjava/classpath/lib/java/text/MessageFormat.class index 5ad2834305c401d99962b432684a3a757c961e61..b077c51624c72bb6b826836165a2ed60d2f72dbf 100644 GIT binary patch delta 1264 zcmYk6eNdED7{$+dUYB*z#a;PQ5mFYUiT`$Z>c*FYVS1DtsEAoEn%|Xzrt6t z%D>RebAa~NUypM4>4YeW?Dj>Cjj1mgs(XoC$W5s6b6jkAbHJCbl7kK-a{;u4<2 z_n3>z@S+Q)=*BW!Lpg3>weDMoUjoxdndrTXAoOAg?jZ#CVaEf6;SWUNAspy~3;jsN z-^d~`je-Iin8hFz(ToxfhL093XD})_6xFn1J#E-bJ8Bt*I?bwQM4&mUkaJ=X%vgjn z4kMX>(R9JdaY$nd(m5VEbZh(sOlKPAF&>p|MY(hFKbw4aHpS;uJLUDeU7^9N;v3 z#eB4KhANKkbr!F~9S=)|-5&cl2quUssR#7yCsxARz*Y z7DH0lD47zZ$`U#muAX#O+hbsnScHiK4y`VUQ)iqWCaKuOseDY8CT5u?VUT2~j}voD zlQCFwRZpVFI#YWEy3>OYc{Y&m%9EP;FiA1&Qi2FsfDy6~W26)l#D{cQf=pS8r{yKg zl4U57FQZYa5s-B_EbGxC8*o~$yJRD7$R_+M zo6#q=7?5o=W|F+aY}vsnQqMejkI%?XdgOi1kq=lTyXckOTqz%M zwKQ<8?BOX)#|VI9;F#LH1tmt4ee z)ZOGlQ#*p?oXSgib>wATT|u~X=_s$lDczW;HB+vsTPaoHzv+B#W2oHG8TBAat4n&- znp6+})M1CK?$m~f`h77hFdM-LGln2W*W(N;+(rn}3>$I`J7ychvA_sLrS@Ji!qtKC zTkLT#8Sxly=$mN7VXTp;Jnp5|H0@@M0lmiXH7BGSp7aAfGW+I@4sEpx9 zAKIy9I9sI+mx;iwC{wg3Atnl%^r0f?DyOB$C_iY{nfveTIp;a=``dY+?Z4IeUZGF# z{llFA;(5jlA#7^Iu(dhP`&g$&KULlK#Tu~mE=3GL5=R)h(BDeAQPQ8 z@eoEa3Af;dF<3DUKm3DW+<_hU;J^f82`nIyMgy62LpIGQpgW4_ffe+`Do#QbE!aRW zY@!v7^u;#%W2a^{(dG)AmczVIc+!q33_~CzF^$oPTxKhVlSV-K|YCArlEuBIL;;LW`^nsxfz)Y6Z2qUKKxjq>Cb8U^N404 z60|0>NI$w*U6{VrqYUm`i2#C{7<}u5+ZIA!xl*rv+9o+WPoap++YobhuGmKGho;1 zkT8`PmBm@g$Kj`TN6qD2bvkN+DG_cmUwbL0g>aWtmF>u~EY)6??p_8jdD_+PNSC@o zn8XRI6eB=hz*H$gn3Q6Ulp#^dkt8o-kyIdCR-s5d~jq7o`E0r4d(U3+~Ex+?UsB$Qzt2Z_=70I~XYMa;EHJ zvNSPOb~9b}aH+h{Ect+W@*xXkAD!|s*GMyKWIxx-0lp?J+#`qBEUi4G^&4sDS^11t zq>Q7|;p(3?mDVGA)T8i`P94@Ugv)VtcXk24S2-~`rU7`$8Pyik5O`kiF2G-gbexwE zDZ_}@nj|ACGq%?Mn$G7sCd*$sqZX1=25}U=_4+3BG@cwvrh~WvdF$sRgWK7rl zS%w$l3~$UctVl6@k!wsrvEhem?bRCrDl~43H4G*r0=|a+9gQ$V8xHklT)8DdyYpc& e5)fcKs^aG)1P8(3DZTpPfpg#kU7&RULH`4rLn;*j diff --git a/libjava/classpath/lib/java/text/NumberFormat$Field.class b/libjava/classpath/lib/java/text/NumberFormat$Field.class index 4a926d3fa8489ac566cf158c631a3fb83a8179e3..3f43075427f32fbeb72d93155256cce4f4f3e4d0 100644 GIT binary patch delta 61 zcmca0a6w>$I6Lb$1~!K6lV#X#Sr0I}`Dz{PNpL6YGTgFKL}#c+ke PoZ%{i9mAE$92_116#5W{ delta 61 zcmca0a6w>$I6Lch1~!HrlV#X#Sr0O>G8~#5$KES@0m!<@z{PNhL6YGzgFKL}#c-9u PoZ%XS9mCbh92_117D^D4 diff --git a/libjava/classpath/lib/java/text/NumberFormat.class b/libjava/classpath/lib/java/text/NumberFormat.class index e1072aa8ed9d1df042baa5ef370caf573e7b4689..0a1939e8829cdea64dbc684ebff4183a23d4fedd 100644 GIT binary patch delta 786 zcmW-cTWkwp6vzMPeCw8$+LGQkz3Q~pZL*P3Okxz>R86;4YZ8KDh7b|NB1Am6B(n47 z@-QzhFD&ly;7KA8PZEMhY;(WG<^ESw7!K6@8H9GX>|_T zzoG`;;KENd;D=mwK4@%24b6m=Vwgs8_$YxW&BAO-VgWTFP0h$tTu!>yS?9w-DNLaS zGT|CYEP;(W;h|;fNyD!iqNNB^26Lzzb192?ltTxtk<0GGv|jw4>#0E)+NoUzHE#$` z+66c5(H{HIO#88v4xpP3Vl5p)fexdjYzythE;>5mEz=p<=53=3a^Aa$u1Js1C7-=9 zx>czXz8F2yY7srv+aaUAB)ybpzDtR5jhfU^Kk0a1&`#g5n11M5KhZ_MkX2TokJw26 zMCu2qTE5p`>+pcs3k!Q-Wgn(-JsjKs7yIGn5SloGPL86BXQGE==;t_!$~JQlL)YE7jix8)p&X9NM`Di#d-p_o}xKS!D%Yg^gSi<3F9)s)=P(>#5~!nplQY zwSl)I!aES-LA3Br%;h1u=U-04mAxH-7@ewYygHDuoI@3l$dSOX|Ar>tL>-T5k6Wnc z+X(U8!z?GB|*r7opzr2#n`PFTW9Bl0l3+1>)1nGL6Dh2OMEG9v!v zs4^=s)nt@*VY=x?)T~02$)eTdp3Ap}#jMTm$}5yGai z;OwMb)T*oykBE(pg@lzvge|HFO)DNdC$qTsJNe!Fo$s9K&gss3sN_<#aTyXEM~cfaz!rv;9po^^xJuso zv(zXpB{Np1`n!SpR!2z=uhs{2DQQAo-q#%}bT-KB;C@@zg8>{~h&_AR( diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat.class b/libjava/classpath/lib/java/text/SimpleDateFormat.class index 1bca569ab66fe394eb7aadfc996bf407e00a32a1..a6de266da51a25457865b0c82015d2ff32132950 100644 GIT binary patch delta 69 zcmZ29fpOLZ#tlMJ3PKv1K3R!niTb4_nK}ACnZ+g6Tuh2g20RRwOoogM>XQ}agaxBL M(bQ~?lRBac0H|RT`Tzg` delta 77 zcmbO=fpO6U#tlMJDqE!%+b6t4D4)i3_NV{3?ghvlix7gGZswNVQ~Wh DAj1n^ delta 47 zcmeyw@rh%D6Emv~11Fo)WOrs8MxV(o%+b6N4D4)C3_NVn3?giClix7gGv-XzVQ~Wh D9s>(M diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class index 98e5b9315687262adba33c5fcae800f9c7aff76c..2ed6a1167dbc6d111f5ab05f0844bc57d40820f9 100644 GIT binary patch delta 19 bcmdnPxrcMZMP|mOlP@usGj5vf#Zm+SP+A9? delta 19 bcmdnPxrcMZMP|l@lP@usGp?KL#Zm+SP#Oo4 diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class index b5e3812169755237371376b8a2d5d7a6ae35b0e8..575702bfeefc763fb8fae7d6cbe9c92d9d407778 100644 GIT binary patch delta 41 ucmX@gbChQTH!EZGWFFS(g6RzGyqOFFyjcvAKw6$ReexDo8=%}r)(`;I6AD=X delta 41 ucmX@gbChQTH!EZKWFFS(g2@c*yr~QVylD)QKw6$RdGZ!k8=%}r)(`;F{|Y?- diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class index 9a096576108c6a6951be067e80762c15bca8f7a0..8bcf8e2bf3d5041b41cbf0b564c4379d77dac8e8 100644 GIT binary patch delta 27 jcmaFC^MYrC9xG$!WPR4@oMjB`ycG=cyk(Qmv(5wnc##M} delta 27 jcmaFC^MYrC9xG$&WPR4@oJ9=myd@0syhW4Gv(5wnci9Lr diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class index 3046de6df7c13e67e6bdf17df723464ce488aad2..18e449828ef4b490e09e8787485f586b343d2733 100644 GIT binary patch delta 23 fcmZ3(yM}i|3oGN7$*ruptp6D}L>MN2XWa?_Xi*4{ delta 23 fcmZ3(yM}i|3oGM?$*ruptiKsJg#S$b&bk!MvKXDtlo@HlUK1iGWtw@10*9S>#@ahrZWgiWiZG{Wlf&K M=E+zx`5s#s0KL->q5uE@ delta 57 zcmdnOw}o$m6f2|VWNB6>Mw7{Ltlo@vlUK1iGI~sY10+Ky>#@ahCNl_1r7*}yrA?l~ M=E+zv`5s#s0J^uXH*aZfDu}ci%VwV||#jY^u0{LcQ*CzkxT+Dh8Xv+P`r@7T9pX1VH{4hD5 zSA6n39;wN?+$K!o%s{U7PX^c{njd(&B)u4*}8I8d5n!Kirc0g7-qsL@v cKF!G=c(oWqfUFqCLa@qyJ{QL7$yfON0HGE)RR910 delta 190 zcmZ1^w@7Y7D~IS(1{Sg944h&s82H3iG6;#SVvrJBJ$V+#OwJt)++sT!#Kd+_w&7eR zdy0Wo>@)+9*ck?Xv2zUKV&@r@#V#=D0{LcQmnQ$`T+Dh4Xv*!$r@7T9pX1VHd^0(o zSA6n39;wN?+$Kz7|AAcV$@92%7`cE-(ip`i8}WoNDnS+bGwOlmHF-@Lt$?g_MwiLb de43L#@M1{U$@44mRK82H3zPHtjuW?VcuibZ|0E{hK1Mj$Jgbth1E7m%eo I`8tat0MzghZvX%Q diff --git a/libjava/classpath/lib/java/util/Collections$CheckedList.class b/libjava/classpath/lib/java/util/Collections$CheckedList.class index f103934355e9c0a456f02d9967cda91161ff403c..153d80288d5d6d7336bf331c751219bc215ea561 100644 GIT binary patch delta 145 zcmca5cS~-A1t%vf1DgaJ1GfbGWJk`qydprBD1)SgID@i;#N^kUYbDhfm?YF0xFj?f zcqOzL1~!Qw4BQewCmXZQ;bmpumSkg)kmO)clH{Cxhc%s1Z1M~?^~u?6 pI*iIdRy3m?m@mz)!)QI(gS~{;1E|9jsKXnm!w0CtaxxQ#CICOu76bqQ delta 93 zcmZ22uv%b)7Axmx1~!Q=4BQf5CmXZQ;bmmtmSkd(kYr&{l4PBHhc%s1Xz~m;^~u?6 pI*jr_Ry3m)m@mz)!)QL)gS~{;1*pRnsKXto!vms703Vp diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class index a0d77a84368e56872f74f4c693dcaf5ef530ac89..1e0de3b641099d7172116783c374993c6ed819c9 100644 GIT binary patch delta 37 tcmbQlH;He<9#&pS1~w@v25u>720nS6oG2>_x-2=f2{ delta 37 tcmbQlH;He<9#&pa1~w@%25u>F20n0$fF2>_s$2-^Sv diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedMap.class index 42fbd4ac730e6c28cd4a7d18ab10ac7b2764f6e4..92527ed7abc4f91308473a9a24734232d4c669c3 100644 GIT binary patch delta 271 zcmXYqJxjx26ot<#N=Qx8#z5=6wFE`!hw0$tEI5dug1Cu`AUL{+gR`^99sCE<+BSA- z5d;Tu5?AdnP|>C~inG21x95CtPFM;{?PZH<7^O>?)PO@xc+^6ULiltgJJ#t~M<-p0 ztu1vgh4g|P*;Uokl#?6#V7d>3K6PV&6b&&+F^IlUpl{4-U8EmbbN1Cq(tmU|)VZcJ z_X6WwLze59;RXV3$!+>rUF(;k>}CRWmry6OZa%@_XZYL`+wGQLFv72J_zf<Yk6vfXcN{l9H(?ILJwFJeQD(TS4S#T(V3gRX%g5c;P4o*IS$bAE8tyL+a zsEbgX#l`jsRJ7Jc>FnZ1aQmGY3YQBORWL{=FsTNIPT^4<89IYc=dxiP4qfTw zTKd+SdXQYABztyIwKZkr-rkw$z@RVP=wgI=7^4V8-^kGqrnC;IFH6q0I*9vE&WaLE zNA593xq>uTG08QAT$g5IU)|`JKsJ-1YQ}V%TsEI!a0@=S#dhyzUNFF~aQF=_zhj&~ zP~;Bg_!DLBVpaR=+`|?}61f-Z_y3jUF%_!ec+>Z0RZ14UT{90OI}JY@=;gdb-uxe3 C$5HA4 diff --git a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class index 7cb5ae94af934abf2b4261835499375f2ae9ef1a..9ae361edfa615caf22110128bb60a44eed421a09 100644 GIT binary patch delta 17 Ycmcb~ev^Ge95d@(1~!R%larat06KIA9{>OV delta 17 Ycmcb~ev^Ge95d@p1~!RXlarat06IJd7XSbN diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSet.class index e77d9ec4d24a519746896c38795a2fb149655943..b8694fc42ad4ad530419fd9e7c084ca8575d6d4a 100644 GIT binary patch delta 29 lcmZ3+wTx@S4`$YM1~%!8$$yz^7>g!XvBWagPQJn72LPEK3M>Es delta 29 lcmZ3+wTx@S4`$Y61~%!G$$yz^81p7qvBWY~PQJn72LPBx3LF3c diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class index 3e00bc057fdfe0ebbad3778025a647ad4de3cbfe..0af46c40e84528d149586c2fe778b4a2792a0fb0 100644 GIT binary patch delta 85 zcmX>gbU{vJ=N-PFDsY88-$o8CRgnBmhJ#8`%H= delta 85 zcmX>gbU7Ck8J9b_pq5T-T<<)8NW@w$00tsggt_h l5iIkC-IY^`L0CqaL0m>@vJ=N-PDchI87BrY8AqVXBmg`h8>IjM diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class index 576324033ad80d1023022330c598c61328954be3..76b1860527cf2e5570921fd07b4cb9730b1a3cda 100644 GIT binary patch delta 65 zcmew-@K0bv5-Vp91Di}Q1Gh}yhrOSXZ?X(W5&-!)7Q6re delta 65 zcmew-@K0bv5-Vp11Di}I1Gh}q=4{g&BFSdfrat!=in(W9XKG~Ahj!_28>SqmRRG<8q sHI~s3$PZ<-nmipyx&YM&Gx|+-WDjKwpFAB%CQW|J?!%Zf*^0vt09U&lIRF3v delta 95 zcmeAW>=4{g&BFSNfratU=inC!?VKG~Ahj!_EC>SqmRRGs{o sHI`8y$PZ<-m^>XwIs(-PGkQ;UWDjKwnLHgx#!Y_9?!%Zd*^0vt08@G#8UO$Q diff --git a/libjava/classpath/lib/java/util/Collections$EmptySet.class b/libjava/classpath/lib/java/util/Collections$EmptySet.class index a1a88ebf79b92dbabeab9021a47b19b3a8dd76ec..d099ca2f11114467213fd4a94525ffa020001b7b 100644 GIT binary patch delta 93 zcmew+^i60(3oGOD$*rv3jGHH4WKCk+H`#=(gz?1Wm29Dm7bpK`^Jcsa6gQk)!>+^l wY_cGS_2ef&)<+;KiSgIudo1dcXLFcxvNEtTvN3QnvQNIr5ymJu*?`jx0D3wfIRF3v delta 93 zcmew+^i60(3oGNY$*rv3jGHE3WKCk+JK2P-gz@;~m29Dm7bgE_^JcsS6gQk)!>+^l wbh03a_2ef&)(0RfiSg&;do1dcXLFcxvM{hRvNCWovQ56p5ymJm*?`jx0C)EvEC2ui diff --git a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class index 5716fa2175367eb999fdc6cfd2e91df3d26e1dfa..25475af47b364742dda638386540997fbf1de4df 100644 GIT binary patch delta 119 zcmaDZ_*`(qSr$$&1{PT#22NSu$=6s47y~CavRhAXVht7zV_=dE2Z~29@W@6o$N_0} z*{I2{SX)`+fuaeMKeDS&p3SDim;z?KXER~U1hc%^O&RlmrsOjg1NqU66=2a44jsnY I$qPB$0N2AKZU6uP delta 119 zcmaDZ_*`(qSr$$=1{PTl22NSe$=6s47=0%!KeDS&p3SDim;h$IXER|;1+%=_O&PO*rsOl`1NqU6C1BAK4jsnI I$qPB$0L9BACIA2c diff --git a/libjava/classpath/lib/java/util/Collections$MapSet.class b/libjava/classpath/lib/java/util/Collections$MapSet.class index 8a02ecb6d5cbd2f50305115806fdd5d23c4256a3..e89a8a5701ee31ae38c2936f1afe193cf3321169 100644 GIT binary patch delta 109 zcmeAc=@!{w%qBRUfkk#E1F!5X265Th3^KBFCcCgzF)oiy3%i zmoR7nX=B-?lk?bHSyur?S5IEep*~rjLzi*=WM7V0#w|d80^`ofJe*OC`zEJz#xfoT Lil|P0#i;AFcyS)VM3kDZ4>ke!!7k)4l08OYXR z=b!w8qm5B&ay@4hqbg97;bd+uV@3lYD~fT`>BG6qcc=T2gbp1g_M4FJ1YDdYeE diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class index d1c50c42220b9357c8d380b214c67f13b67c2cbe..e5f2dec278551f3d9776ff1315bb89f022fd06a3 100644 GIT binary patch delta 115 zcmX>ienfmjBRlUj1{U@i44mvU8Ti;|P3~i#$Gez;oqZ{T1p8J71@`TeEjiK{k4|2| z5yN;9NQzGu;f!FsJ2{s#neoNsi<}vppMa`AGYGMNnf#wieR3w33gf@YeOwuwoDA$7 STns`S+(7X>MzP6x++hIY=OT^( delta 115 zcmX>ienfmjBRlUT1{U@y44mv!8Ti_G86Mxn`h++hIGry@Q8 diff --git a/libjava/classpath/lib/java/util/Collections$SingletonSet.class b/libjava/classpath/lib/java/util/Collections$SingletonSet.class index 53a098dc3de258d0212d8372dbb0d44eae651ee4..74259753f38d288969f27794443ccb8a9e3196e7 100644 GIT binary patch delta 87 zcmZn@ZWG?%!p5n~z`~}_z{zGX*_SPz(PHviwkSr2$sFuKjP;YF+1n+%8Q9r+82H$F q83ft-7!=w18I*x+Ew%}hf3r6;&YE1$5z4q^@>Px`#`TjeIQ;-^>lQ=+ delta 87 zcmZn@ZWG?%!p5n|z`~}@z{#dF*_SPz(PZ*kwkSrM$sFuKjMbB)+1n-C8Q9r682H#a q83ft77!=vM8I*x+Ew-M?zuB7^r%kTs2xVL_`6@>eh zSzF;XNPmDxL(rcfEsYZGeG!)zzMtp)K0JQXPrjULX3pC3+!Hrbc8?A-+k4)@el@$c zT-?cJQ+Qg}T61Ljp2pMzv3ev!HEB{k(VTh~N3TX-F==5EVDctk`VDtUS05BtT{%{l z+(Y_C>LJa@XT+2&JJCM$mtv|@>bf^daxqyifDaF5F+hzBVRFQ{=Hat^5vWl=7oo7{k2VRHkU jQ!;97un)O|_>ePhBfX>59<+XpUG6}-G{GGyjOYIW`(#yH delta 335 zcmZ1=zd(LNIjdZVl}}b;S)zVUVqUtwe^ORza*4H_Ms!GswI-0*Je74hqv(7F7LJ7s zoE(c7_&63b2yrZ7km6W6Igq`CcP&t6Jy2!?P-f%gOYGA)k20`x9A^;WI6AqIqlfbz zkoN${y9eZnPd?8hH`$sqkoPT6^gV+B$6E#oj*pXPau#qhGO%+pGl+090@W!__Tv$l z?93I&DGn5s1d57-b#LLy;Zy^PXfOzKs!a~$Q=c5b9nEP56tQ5C<20MRg}Z>$2gvgS z>hOV@lgOC@6iEY$q(EIz%2^8(sRxSGLPb<2ckp^}_5elufF}0vBu>wVkcx8Y*IR*hP83qY1g~5DFy*92?hx+naKjIZU85{5m*2K diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class index 74f95300db4f3994e4c1d44e4bc2abf10bea8fd7..24776e1b480b50c4dc7a563d08a8090f8a7573b5 100644 GIT binary patch delta 243 zcmdllw_k2U1v_UF11ncD0~c4y^AuKdZr*=O;#F|c!WFbHwAF-UQB zO zR4xzBt3c7~48mMjCqLsV;Cv0_y#=ay4OCOb`JaKEn-R$S4>m)XCz?|bC?d=t$1OOy zoTph(3&_)9;OEw5kOb25+**^ld7C)xfT9izBHVURdvZ7v7my=w=qdLlELPnsFcmcPfupY>Sgv|p&{+<$Z^3(_w;3wCa$ zApMbw<&9eDOd^6+kXrQX(tWi>+C#T{< PAy*?L%pDu}ce(!$OME%e diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class index 2a50db405672fce46c1c7883d91d261ee4a2b41c..b3939e6e574ce15906d632fee738914fe7259e69 100644 GIT binary patch delta 125 zcmeAb=oQ#d!NPfofsOkz12^}T$&D;Cd0#QGbH8B_4}QqCy@B0QqCy>SjoN0BMLCgQ!F#aA*vPrY48Rz~a~xX%UE2 zP!L+Qg#^;jrkb0_e;*w^}6|rfMm?p){HHGFzFZjr|k=!A< zNAjSv?wRe9V_wNKU79y<`s`M?5Ba3P^z|_^r^hzbQe=aN&=GV9ZTh?9*aC?yQU-O& zR&~!*xCT9^z}6;{BQI38o7{r7p{?n@GIt;^6t^8MNk)yVa}V+X=|SrL7rJk3|DiN$ z*8b{#ETx&~7LSqqQNoV(BzkLIa>S4?E-i@Yig(IM$RY)joPJQ|9Auf|lAGK*^w&5K ZS;bUd-~GD3jc$iT3Y138N)fjX{sC7oQB(i` delta 329 zcmXZWJxfAi6bJA#gtv2jp2vIj+RFuLy531$8l^F6tQ02+92!HSDHUScaS_H zc|!6m3-*QXk)__qQ9W8x@6xyHJc4|Xr$+J;Uz8*5OEtd9W9Scb483w~lfRBHthcxg?LgbJeKqbv`jpaLshUuf+28?W2pK?{ZiMa=+rKD_ zn%Cd5mkcCKlz4*VkJ5S~r-=t0Bg@Q_Yhtu)Y*}^AI0IQB&tzsF)HnwzP|D<{w+`HO bE<)BYRg|IIbhpv%kTGS-qUKEnxAy-5w9Qah diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class index 08fdb6ca728f00535cb3b0ae863ab624b0bc1c00..9efce59f14369259b4a1225d05ae4a30cacbd5ba 100644 GIT binary patch delta 57 zcmcb>eSv#}Eeq=e23GEglbu*{SZ6b^anG5&nPrjWW(IcdtqlC!+ZaT+w=;+WX(=FI LfqV1hJk}%t)wBeSv#}EemT811op$WG9v!*69pv+%qO`W?3Y;o`IcvBLhG8CI%7i%?zSIS_;Tl L;9fsDk2MJZ(KruZ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class index 1ae8ea307c4fe1209226a4ad0863fde972aab74c..f19098e5c0e7777a060e84bcbf3baaf56c417f43 100644 GIT binary patch delta 55 zcmZ3_vz})|5DV*M23Ec)lfzkZSm!dZ@y(ljf~Ajh4FfyhItCHGHIw66D>?T7dHWcI L`SwhH$m$0G!)Opm delta 55 zcmZ3_vz})|5DRNR11sNz$>A(HtTP$d_-0K$!P3XMf`OfH6@v)hiplY;m7F_(yj={! Ld^;vTWc338zi1F4 diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class index 62a25ade1e2f8b9b179c99d13758ef1442057e2e..5d7cbf97da39537d01e736bc15f73581d7fdff2b 100644 GIT binary patch delta 132 zcmX>ra#m!+16D46W(HP%76vYU*2%9}3px21*!cMwxcLPpr?5@slxAS(mt_#k&9Ja-0pe%Hx-9NnBDKwcP7E@bi|juyc@Ag_RdpTCen3P>yP Z=S?=}T+P`I6zv4+Xb0*LpUlMN4FFpV7{dSn delta 132 zcmX>ra#m!+16D4+{|v1B3=CZSjFVrn7IJbiu<>&@l46OX87`XUPPd>m}$a#fKV}f-e>nLD zTRG@#46OXe7`XV4Pd>m}$a#T*jsGG8H~*!{R%}x_?=rCS-)9i!zdQK` zTRG<&AnzTJ_hxbgdow3H1G@kxgS-Iy1E)Y21Ft|ggQ!5yWGCi)#{9`_Eb5bQGV3tb0$G8Kos%P2+yLo=3f}+# diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class index db804bfbc60af456377987a95b8361b57195e1b1..98c66ce661a987f436e1150bcf710c5c8d6880c5 100644 GIT binary patch delta 122 zcmZpXY?0ic&dzy~fmQGn1DD|G$p-AXj5jCGV=rfX0VEYCn{xy*eg%q(PhP;`$0Wo! z`2$BRBj02{&JadiL4)=VUh delta 122 zcmZpXY?0ic&dzz1fmQGr1DD|O$p-AXj8`YmV=rfX0wfhDn{xy*eguk&PhP;`$0Yc7 z@&}GsMy|RaVZ~3@pNP7&wLJPQJ&Q!MI|wJ6kH_rpasBq8ax9N%hGF>^h7mCdaZz XGG3j$ojsND{$yDWf5w@Ub2*#<2|yOh delta 67 zcmZ24xL$C>RaVaF3@pMk7&wJzPQJ&Q!MJ3yJ6kH_y2)$Vq8WDpN%hGF>^h7`CdaZz XGG3g#ojsND_GDQOf5xekb2*#<1NauB diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class index 081bf52dcc1364755c8894724b49907c16bfca07..664edb1c76ad6792e5afcc2cbe69bf5ab55a8399 100644 GIT binary patch delta 95 zcmeAa?iAjj#m@SUfmQhZWPSE>#xIkXv)3tdGO&tpF>s0SFz|`+GYE_DF^Gr=Fi46B uGH3y5V-exWZXB~@r5M;mWPqw<8Tduy7z9P+8RUVq0+6pMqA>X{M-KpKnh(wZ delta 95 zcmeAa?iAjj#m@SQfmQhRWPSE>#t)O1v)3uIGO&uUF>r}+Fz|_RGYE@tF^GupFi48< uGH3y5V-fzzZXB~@#TeK`B!H?U8Tdt{7z9P68RUVq0+6pMA~X3fM-Kp6q7Qxm diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class index d985db96dd21ecf5e6c1081fb9ddd2f3614c311e..7a9ea6e229ee947f0d96c56a954c37dbef6f683e 100644 GIT binary patch delta 175 zcmca6drfvjDu|Y?*w6Czo-`WH;Ve#)V*Yr+Kv)R|9QUpDfGg#kmux MV;4}zZlI1d0C=h|(f|Me delta 175 zcmca6drfvjDuCmV9cG3EnF@yW|M zQ#k7x*o7Myq=g$N7x1Z0w&c=h)CS8naQQRZ0$GNW8M%!ZeI}c5S2IRT-oPEqm;@x% zCu{R~aTYMJixe_Qixh$NF6J>|Y?yq5Czo-;WH;Ve#<^g1r+Kv)mji89pDfGg#km!z MV;fM%cA$bN~PV diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class index 39be8d6650eab8880cbf58e8b0ac56bbea2d7205..77c4642f8294e63c3d2b06fa66252e3d1057928f 100644 GIT binary patch delta 30 mcmX@bd5Uwx24>b*46GurCvRoWVEj5+jwOaklwooWiyr{5!wN3| delta 30 mcmX@bd5Uwx24>c046Gv0CvRoWVEi~)jwOak?97C!*9*$W;3 diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class index 39be88cf4cd87ad706c986efebba6100f1abd992..0a3361563748c3dff24d0a53252043368bff911e 100644 GIT binary patch delta 64 zcmcaCa9LnOI4h?G1FNVd1DB}POZ}j2|brvqm%i1(NEMx!7zNB`3SHOZ}jBh8mvqm%i1d{5Lx!7zNMJKznz>% diff --git a/libjava/classpath/lib/java/util/Collections.class b/libjava/classpath/lib/java/util/Collections.class index 1e5ed0c27d8290f38cc2b2b4c9eac34d84fe1e38..e2f120771415e215c067bee6ed3598597c5155a5 100644 GIT binary patch delta 1207 zcmZ9LX-rgC6vzMf-gjp~EKFsP#X-g*`yypXWoL$UWEEQ@BTd_+skNkl_^A@Bg*Gv^ zF^z{sOKobJmQ7j2HqZ}(V!+bHRAWWj5?4f9(!`kboAmh2^nEz*ob&&kbMJZY-bejn zv0n@yPFo#@ATf^!<1S+LKI%%F^^bzU)5kc2aN6Tac07}a9A-fxnXTz5CSqvP<#?9Z z_AZU{(ffN+VpEu|Zi7ul$gt{E@C! z!^6H;1&}$TM~5*PPNNw|>~8ivSfdINri$QXKUS5{_RMkn4pwRrqT*!0`v3C z-(-G5Jf`KmqYi@EXosKC0lU$O4aPCV8OM>xvCHVD&-4FE?O~!9R-+GrMn6K00jx7l zBgz;=k}-sIV;H%{2;6*X3R&|SXKBp+g>@Q+F$0TniC*)(A{OXd&#eQoFzYz1((&-u z2?*4Q2+~Qg>tuxL6gYG$qI4P`M;Fp`I@~%71v(qWItS%C7gahRHQJ5s+Jicd-_Rv^ zQ7~hCGP!zdq2cRj#KpCv|KU} z`h?XLSWSSxNg&)L;b1@7q-dnHQ`o4~>k|`fV`$dv5{ZmuyrS-r4AvMSLt$DtJqJUR61#Ix!0NpvtK>}{oJ%t z8AfaR+rst^1y(!h---;;N2!%QQO|YnSigbU)`LJ>FW2})2=h*Asmc&n zxW-Apu@}O1J~7QTF?6)rB|f5=>VwvsFt5D@+uGYyy|qa+(D|)xqMV9qn#4)^uBMGw U&fL}@)>Gd$pLlW9c)3CR2ldq{lmGw# delta 1219 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 diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class index 7ec855bf98bf7cf2928cc4ec5ff1883d10ea1f59..b97d9ca01d69c5b4ddb81d95ab386a2c3db06c48 100644 GIT binary patch delta 317 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 N4Z0iu*tPlJ{{cEUA2a{} literal 31322 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 diff --git a/libjava/classpath/lib/java/util/regex/Matcher.class b/libjava/classpath/lib/java/util/regex/Matcher.class index 0d623321cbfd85e181ba21a406b8904b2af74b34..c1632e9490af6d38b5b09e76f3113b35153550a7 100644 GIT binary patch literal 7772 zcmb7JX<$^<75?rdVTQ>I4go<(V#Xj#CO`;_Rw5t-kSMYQ3bNKAc}WI_nJ|lhT1u<7 zqJmpDsZ~&DTA{5A8MZ1~D{i%F)vDcF?P9HU->vpL_q~~UnG9loOzyq!-Fxmi-}%nD z=e|7p$)S4z)G3b}E`@=sgBJ#ClZjBcHfFY&8*0xBCYsyLm>Y!(KK(KrjI`CxUA5Y5 zPPoxap)Bu`CNrK4CluTr!9>E0MHB|j&Yd{VdR4Db6pC~tIr}7Qj^3i7Js4YHu1lJc zW|LEVdWt-3jI@{=%oc@HX17I>wYgFqQ@G625silup(qtljS78&9UW$*WnSiC(ONN3 zp(3xWrWx9P$|)usl(HZZj8V_t)@VkATJ%lCf{}PfFlI&))1t{pOPpIRRX8CSX>O0k zLXo!g(_UwWBB8`&h4CYfiN&!1s9vN{*br?oy(mDLfq^JjC>T+_s5cZ&HsFRwdVT}F z;q{^lr@ApjVL(2Fnr0XnieXf7ZE%h0z)RsYTQi4~>l>@{V&hm>FI$f=Pz*zQ0RyGz zQ;d-q?Zzl7k>!mnN;}m+EygJH3Y(F(1YJOD8fE!d1O3oPdgBfB$BEKA&APnZrTL=OovqWa8+7{ z8+2t=*0#oQ*lY`ir^ecnYsrNf8=B1yVV(zPQI&=5raxk?_uKK{UmuM7Bgt@hv=@^w zO&r>waH13b1qmTfz2#!M%!j^In=&$L_qEvEWOjsu&8BRsFr%l4Y01`BGgj}QR$BBi zZR186{o`(&t5Dg)P{u;S%*^uAOXnGwBfKmL#^Yuzp@Ev)A^w|Z-~{yXq6rJ#Siq!_ zpO<=tfiDU#O4`hX4mTa|!luOr&c_nQVm!GjO(KQz5shSMRy!xf>Sft71Iw|3sUQ)x z>{jSM!nwjm!;3E==*9)z2y4Bw5Hzp~%_OXay28kwP}ldAYojkQX&Pun8?z8i>*loS zc_ifxx^zP7W^qRUCWH*E7VwI>1GAHcPQevl)jhX5t+JAvgF&SZFm2JKgJtx>U?|K8 z?WwM9sYH7LgkmI7u5^bFE?-@ zzHS-BY+uwGip3dz9$IOmUKE$ZLTp_ok$o(eZ54W6rC`LYFrH}%8s^l?c0*5ewJO&c zxE?o9hnN{RsY6+s-9687&ac9^4162kp-&k{@kA(*OfZj5bna*4(31$=LoLe=TlcBq zuxzm1!1rW>lI#Y2!wt2s8+b?(mMYwA;1(gPm)>AbUqEemw1%V6HOzZcX^4BRu0HrQ zpGh_s$lq>0>=yqvVtIjR!fr`5OEtH4!&fVy8V;>JXM?#ZV22zs4 z+yYf_EvtY%I3W4xV2{6(R*$IRo2e^Fu7=g}&?^=KZd?ZNoMp0#j)7Fu~8mkR?lqIvM9 ze;s~jkw?)}bIa*c3hwbx$~x;IL#!kb)d@R&8L3Q%T<(_E1f5L(Bc<3$lC@tq@CM#w zT5S$TBg~N9iv~MIGFak~U`M*OJY%Whc(Ekn=^;f-REYI}+;|l0 zP49weGS+O)3`r$zXspcGXwesSlw81H5xj88^@6uVms~D%%SvCjJXdwg;!d}$QFY7u zU$-peb;~kdw=Ck>`uQWsls<^PYq(DV+q%Gh3=Y(Ep&~G{3zdP91qX0S7lsE4x=qh*he(> zVJ?5uQ<#4ciwbZMEILwHxwvMeJnrkl0kp_CV9jdp;{2>?qj@(2uA~ppciV`j>WaSj$G#eYDz}sDOiIrRis*2iwKogh@yjk#fwWRTY#!^s#~d@ zmZNZ1D*+q0kuKTp0I4doW0k$5!aBMy7o>^YS+p?(B-`q}99zz?WbdL@yR~e?nrq7z ziLo9MXYh$=RFalhmO?yN331;Lb5=^qE?U-;>o8)!H3{3>_lO~ znH-GUPO|Sq^>&P5Q^%hL)(-f^g%v4mU^AS*P5ezrVKd3riGbs!kfNHuIt_65nH)_& zij~r&&_1c09ZUW$cmu-Qg1u$iak@O;v;(#Jk@Pe33R`Z)fWQ(yD!ibJ&*fzbm+dXs z8z|?vkev+HP2>|u$r2nQiw={}_b>?WMTl(_M+nFL*n|hjzX!>$qpVgR!OeIKx8ZR{ z^b?%%Bp$}ocoffa^cy^d=N$}u+6K6UE5E@!q9|(tt{~LHKo;Q^)O=f{y%(dZS#(En zFF2_Haj{e1{ zd4&=4s)IhU41HqQV$&yy6}C-zIDTbr{Jcv-zNaPTay&`IbE767$FI&2sfzfyua`r~ zd>r4#lwpPbavS*aKnm9`CNeg8D6e%B0RDE$0Tgl5-hAhv( zQLdAWMALWwpPg>Z-Dwba8qA%_xYOX{>~s^;jAhdVwvt?mZF5riewOdO% zR@jjaeY^}k57$scmXD`%Dks)j>t|SuN)NH zb9idUJ*~1*p60o?KCNCw!-Ed(`%1oy1l|_er?8lok{I5<-=@p+kv9O zy}58qWc0BrA{^5R#|%tjJ5!y_4??pLW*bwD*r?9s_k;7WP0hj0YA$xD`Pi)%I3VfF zK;p)&HkoQ|G8IvYiYz}Z8ZC1yF3K$Ch2CBq)M*YFA~nw@D^asoEx=eQ-7bop=lx(h z0V+)DuZ34daDs~R!(0bWQR^Jr4RLIDo4ws!yWr_3B~E3aCS8Ovw6mJ`kuyzQO7WNR ztL)`kq!qvYY>{B~Bh{2d(U#A5c+bxUm_EGKb<9H7JJdBY>Tda*hxe{rkvk}Ir$gO* ziH%o#8;kK;eelHONqi8U3R!uU^KN&j=gp|c&yBW(XXresC^jF)o+bP7V-|BM{3M0D zQrKU5h<}6;Df~=^_gcg16z(g1!0OjY|3RxiVY^*Dr0`Jbqt>%=(*LE^XLaEz{Z*${ zmYlzmPfMTVpT#vP{5tD8eL|_b;8Ay@pW25i76TJi3UkzcmXrsOR0kRGha4Dfw(at; ztX;!Xn)e6!%xhaX*`}wDmQaP_!#IbAK64~noLkO3LJr>NK+Bgw>sg-oR?>ZmwBq4_ zmJGEgm)#^~_j5~1U)Yb|9Vx5WX%Bxd!}9dYKk8A%F8k%5_1yCG@UJqo&ZaU69M&&& zj@o!KKTSiu#yEMMWPXFk#G9y4Z(+E4n^%r^FhRXbgxY#eZWVV>xPyO>1|6fR1xuseSEgK#^;@7GWg?cLomjM&6zidM zlsS)DlAM{@QCjLSb1ib{lRau*&giqy)~A2jjXbfL9Vc|6cfdD>9fxwd@^H1G(A5sZ zwHl?aH4Y{FXO!&ELd{b075v+_n5(!4F#Iso5(!$N=zhGaFCItHS4tg5-D~%uiN$qI zHr}jFH^S$-2m@UgW2nn{A>^T}uc1C(SKnffALa0Nrrg=bEhQdi1$1D&!@zp)NIH`g zOzOnYKzR!9Pp%Eb`a@l{i`&+k z?J+loD3oN~vdoOegE30&^~YjnB&2Zk!pwzBtVi_%bK+Plv6-BD5WLlk5JE{)~G2&Ek?v5{!p~nA2CC*dEt1dBg&&%6^8pm?cL!> zAk>wd9ddFY6o@q_OrQ9fSbP=$RVx&78^ax@2RSG)Fb1UxITNc^428lm2ECUry$S-tTN;=g*Ev6_837Vm<7+pYXnq~V`10yj^deaRQW0dqxFfba!sPV!; z$XpcfX)`0s{cS;0p=e>a-5*@xj|60FPv*wD19Zb+%Gq?LLq}LlSZ4MH{q1HCou|;` zw7w;#eHZWSG$Zv6w^;M_RfAlZmhEZU)Nb|)>!NPVQ7BIX&>Re!UH%|>6f;w+JhX7G zfqCN7LVq-BMq*mn;$E@+R0G2;JmwqlVuS|^@C7%>=928*)q4$mQP3^yGGm&wI%>ox zryE#=#bk6e-j;NQLg~b2`Z=wq(^2)ZZK;7}XkkFb!WIGw#S@)7Y+O7z11sGiT^(+B zVrk$^tfJd3{1qk*20aO`W}$O$y)gSM1FLa1W0|H6aNns}BxR*;GOPz!oYH>*zGUDW z0k423Fvc}>3a)6|zzj7&Go2zFTq<&aX^U3ySVk}R2ZH4JV0GtNY#R)#{eVHj?8Qtl zvAL>Qc(7J9W$fg2MZ)o3KIja{bB0o@2VtytgOh`jx}A6pM8GJ?6C9fq#?qbH38mvZ zZlDmu!~q)(Y{I#u0yk=|DNJ+PVqFgPLa6NW^d|aJVT*wv&a(_+&dlo!M4}ADd|GLv zo)?vrE4D6G7)84W<0=m?5_(>!U_`8do^J`7;MB`@Lskh2Uo&tizD^w?X4Iq(B}sM< zz6~`EFE{WFe3L$997SV+SUkpTG|PFOjl*Dt2Zmaj9k%XsgF%7$N(0}L0}9gz@Cgsp zzHa1ILs-V)Y6IU9vU=zZX2uq3!wV`H4zJ_YGnal-c?C8BjxQdPbXhqPB zMk`|7{!qncGZL=x;1N72_0Ut29tOu+)rx#PqfnPcS|D2C?__aGX=Vj8PDQv=cXg#% zlaFT=j+1Tj=zpn@kLMI>2dzAk_!kr=e;%!pN7wMi?e<5P4=y*0<54rqbg9ro!=1$$ zbiRWWtfMG;Zf3<=M8Sh5J*i2?Utuh)vw5=KFHgo}=8@I{o%G)pcO4~J`*#L@k3TTy zwgyTeRo-u3Zt%yeA)Zv2@AaGF$$;=$mOa3Dm#rugK+yOKcu zg1@=(*8%S_R-haB0DmWq+gY7T#+2)|Q9|G!5@;Vupfw&T&_p~vq=<o-bl9so!={b=^K@thpCb-w)=>#OcZnQu}*%6*e^?#8kGsPyIZqslkw z0IC)Gxr)PS@@K}K+~mSc{+&R@fHlZv!7&tm9@54G+EI!QJ~L5`PE0`;PUNZz>oA;z zSsd|LZ5*=;dt#o8YSrUpwzD~x%Ta??a}WEX<{YYdO0{nvHQa|r{+bdv?En_$-~g5= zB(QvC^(2`d;lkZ$m9fuSwWgoz@1O`v=^DP00C9@lz~W^i-zGNjpp7_&?Kl=O6LBsT z--M~yOjWixl%JDQeh!Uoql#3E=5}c1O&V(<+e+CkJ{#v$w_F36p>SF&0RXs&FkP%q z9BoNRojA@uQ4!85d^QlISv*;^F$5&r>b)FW7F)8fpjO+oY{Ob>%NB{o+ zN-RkrkSX#yirnE)w=kt{A=Z%%qErw){7b^Avq@_4 zOa5+ne2SuS_LgkNOqq}EM6I5ZerjEA#|;?mTg9o|bNV?i4-?qDH)pS}l;d1>Qdln| zpMV?5tlebM9_F(?dhR9!*oIkyY{0GfGH%1=xE)vG4qS!12w^{W?C0MDID~uf5bnjp z>^+A2@dO@lFz_iG;6fb6`HXEvSuOkxqpt+&^DLpN>gx@>Ler4bjAO3(zc9~ zR1We~E=H+59K}|$vXy4Copcq`j0OA*wvt>5Y;zL$cAD=)m=GGpl6KmVypL*t;wLT{!C`(Bv)HYIU+lSymC=&&)}&Y_q57N zktZ-ie%0w=MZr$%D6DnaWwEG|{0d<{FsVfMC^+22c= zO`I*W`=~|Q?0SxzW;;zvo2{@l!}QuCm~QWInqQkTUuRM~OgWiOZaa~eyEhY#S&TlY z$%LbZaMWTp+xe;v=cuU&vW=)|eA%CYi_}b9p-#jObrN=}dhAiN9gy^;AaUdSHkoQ| zGUZW;vNS&}8Z|jK=cP9D4cy-B*J%zIFLg-FO4RIC2{2Ylw+j{LeLt2?fLcN7uY^aP ziQ#G$zp1t2Sap`;xbcqTuCb3>%!iNmHVobg%LwLt@$vy(^L<|hxjovtVLQ; zHPRMI0lLDGD7xVDUEZgq1597uY74)$pXX55NU3|l=e)ePXNtUxA}@ESn=P^NUEIcE zI$KEs9ztDt0M{wLH7A3|a^BSr^*kx{_KP#&fcqr{UeM6~hk*}`9NVNmw)b*I9c4Cp*g;sR~;_5~Q{B8$ETW!1YSs(iG zOIqfVFSNFW4IBwZURpvG3J#)yhCX~KT`*hDyqO%l#etSLh1Rd|Yg^Wvq?KF_9Vu!z zlw6C#gLq_B(PR7Z#G#V1UH0&48I~p={zi|=cH0kstJjt$htJEQQa9F?8Icnnu zepQBgj&brl$@~JZi5F3(UP7gMnXdt_V1{~?2)%|=)$9D${06_9yooc_Tm16+HrmuX z+9sc+w`~(GuUy2VCjQFf!}rx{S^I7nWRg zRz;BB{9=mR&XcEQZXTU=^GkTycGMgiB(!$>2lBAR>8tj&ls?OCeTqx2;f*ctYke5%^G;#Mp`5NfTuYJb zS_Z?l97V1(97-0alq|;Uwvun)P21uwI#?{OJP5T)f>tQHA8#!b+8@RUDRmfi@7#|C zEUv55@n#*`4zH^NV_YVVcXc`rt+WsI@)h!rd`aY2H2f)5?(E}{5)TV}I!?i|>Q3O(=KqJe3yNYXO)@EnNHYVe;f|$- zxmwxP6wO4eW&MS)w1Xqbnwzrya&5OrH_dj>*-q!wZnfulwo@JJxi7M?Y@O3_|Cswe z_kExHyg$C*`?(XI_{~K7>sOEW0La8&Ef9nRt;3kmanmIcV{;eJoH4U#PJT{7iGm4) zQCcmJp9apd_sJcr{3fAdl%RFDg&#WCD#HKccVai)#MyoM7Tlb zRC{WcI7UY`|(xJR%2bM3P223x6qU!r0T=4vi;wo-_BD(0h1TVqa5 zy%!5DxbJ`FyT`YpzLHC+ScG!zw0VltgT)p+K(G&=R7C~K2)4kAxwW-kpWEa2DtJ(v zU`e^zgQY4e^-&|QZ@CrAu-t-bLiAt}ceTgwS5bo%T7%_QWf>k);e%g0W=W$u?L$kt zEr5qr+=(0uR%vlc3O%AtR>smAZ6RNSo$HhWLCT=FXC5Plx8M`w$61Tz(uFSp_xD6)0vcI@z3inLpmbf*gcfr*mQ>OCO z%1NM6Fw$sD<9oF~33p&R-$m#r4+C;JHu8uYGdU8tOD`$$pqX~!McNg_3EGWQ^c+sp^SDI& z@Hc9~-{}Qj#sPdr2k{LZVnGj+nOi%xQ7m;(0=+~@)I~Saary~$(^%R>x6lT1QI8b2 zrC%h*@%s7C>v$s32fqoL`uOgv6&r^ zOv%`SC!xd8jHh@kf_I*Xr#aH!c^|fNWMhL*!!sPIY{@U7VH+aZS07;O6`@TIgK7?1f)a1cZJjbA+xb7K@OxKH?<_dPb3jY-T z8Rrd@JCh#5nReb@BcIKFtdwmlJC5&z459|vag;45q~#t!0`L1xDD)QWbQZC6j_vji z3(&{M_a0m90;bVL6w?P-M3>>=zA7FM&_`&XkI_hkjkCi(~V(?9t%KEomUoGJGO z+BqjoSENfGWZ8lWLags=tc9Ju{yN@ZL1J-GsxRPVKD>#ySb|k7N`I7!e5s|8i=^T# zD{Vp|%A~4h-pV-qk^78N<8$m66U)jJ`yRUd8B^jIFKanHl6RaW@gnI`9ha%oC5z#} zhc^Hhetmnfnmg`yML1N+7CmDqe`Lz^YlH9n_v4aHV}^_keNYavkvs#1U3z8fu*o?g z$D!zGQOIR>C<9LDW6oIm(Gtdatu#K1!Ezq|##NS?TN13Y-kSddmS-`R_nrfz$c0(B zVG}bDFJ>Y^%tE5bL$b(6swhCZC_<)~jY*;yg`xz-VlL*3Qq+ohs1s$_EEZs^xDN-! zLbQoR=nx*fCMtqBE4+AHEWvrP4DX9-d@O2kMJ&fxq83+$pMxM!A+|sfPr@#qLaf-zzS+*6*}wuvKX5^dNo+R-XHaY%%4RD{vaIbqTNA<+?WeT0~- S2AU`@+yAaj#@#xm$cql2Z7K@n z*ABmZI$?<1sts{EF%2`+iX!=Y*AQ2!dcViSPf#qEYvYV*m}TN#l*$e*O`C(cI?Ck7 zn$LD0ek!kOWBuj0U&nlcyE3>k=&uS^FY%Xz>Xub6F%d*5!4+C@Z%s`_U4F2>!oWg# zzn=QTa#WaDth{y(UGBtERO(nph`*jBzbaT?Z{h(|$##8|u@u!NR-i_Hsi)iP2*Xrc zYUhv z939We6jxGgGjg1mgMB9Uqg76Heb4tiB063m#9C*v)|FK7M!xyJQ_tTr6h@ggDN zy1yV)Q5WRQCXS$ni>t0!6>_2+9VR;QOL@+f9{&=7ZdJCZiDNh}4KvMX#t9QA@oPEC zyfw28-6np6Qv`i!u)c^h5Nx;KG1rM^MAVT_sK;w2UdQgE>&(+c=VX3ds{O;>o}>(# z5>&;lcHumJYvNtJCwIkNqqZO$kh|*@N2#ItQ$@oLU46E&qhR?aiA~ zb3ne=8O5T2lLETec^pfkSbhq%0mEx#49^_lwR;_1sFzm;jSn~AFBD6Oc+ip_thQt_ z)^PQzPe(AE`&7k!s)j~2a8WIis2(0#2_HR(6k3H;T7z_Y7$fKrjHEE`q;(ia>ybwr za5p{1*QXJS=m|VPo3Md4<8j)87TSvEX%Mz$My+&uKTV&>lX z@D1(b0q!S_rJD{=B1OnUhbWm2(=F6N-=|I*M(gNDw1xuok~PfzaPy(Z<6%6)B`7Tn zO%0f}b*!n;kH^ng3)?JpJvQ*1m2o2;g@dci!eeOU03W5|aXbN?D^0;BYzC7OX?T)- zF|?EIWH6FInwZP<=jM$Z>`3KDThW4!HPTRfiTlbN}Fr&^Dl ze1I72!frlYFW8zCeyN)Wp>t^WN$e>*hG(arL^I31g~u^T&h!ipw{+nEp(uipBf4;i za0=xChu4vi8AW>&Zei_c6u%NJNEogL&nS(eYjy-ChrdkN^X*$3H5#mCcJKT4@bD;J z;Y?$$XR>?k*YU$?&tPbVN^+VrxK)-gKMelbXZPnjlM%(M9b8T$_o5XImW(jM)O#Bv zOv!deSno|-01uaW8V0=zH@${LI>YEX%l&?vyY&tu>OJJrITX`}D5sAQWLqWsL-Z-u z(q~~b(q-(R&(TDGKr8(b5xRml`U36rCvptDYGQO4OCM5H;?SZFs^+J>>>x67z>vOAW4jaN94jM?m~)~fHaYZ3^55= zVlqaHshA-OP%NfnjwnQpn1Kc{6HkhJuw4}6peVr+F$pqI z2)B3?iK3BlvY9cmg)y=fBgHo43dz`b8s%aqf^4f~e@HZAt=P+qAogR2XhoAafL8GW lBH|$0#EWPb?dag3F46lt@!c?j??y(r$c#YvlyN0+>0dC`hzI}x diff --git a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class index 8ac2460574898a5c85bbe5227e3b7a289273fd4b..42e8118f914beaa017f94bc96e9b68ecc2845aef 100644 GIT binary patch delta 243 zcmcb_e}{hqFDvI_1~vu`1_p+Ulf_sI)Md?BmNQ6-u?lchnzM?rin0jQ*9kH-G_*FF zgE;I}k!CD&|38|%oYk4Rh(TuZTUPt}8irzqT81))dLY@r&;ul=Gqf=I^|AuZH)oInim^{#&ZfgSWAYWYNZ!Q^JPb=11Q?bwC@?IW VY{j0*xejQ{dZ1|=Ca+;v0|1`&H17Za delta 237 zcmcb^e~EtsFDvIv1~vu`1_p-Hlf_sI6qhqdh_MQARGPDjvC0b6*9kH-G_*FF1KI3V zk#=+cKb^dm)tNbuL3;9MR{Q#DhGK?VhAM_Sh7N{mhKUSK3{x0d8J01$F>GXLXV?N1 z-ObR+u#cgK;S@tJgE-I@4+eIST?`Tol0X{7as}GY2xf^eh%zvNSyn(XW(GZmxeRVV z77IfGLo|asP%kUcd~*gVpcp$)kLTpAY#NNyCf{R=hHYF6^0{ QYk+Fj0!>^uc^kVL0Im@;jsO4v diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class index 773d831675245146e58a92a9561cc8c88fa664ec..08ec6aa66c1d7efaf56d57b805c1c3df3a05fe14 100644 GIT binary patch delta 91 zcmZqXYUbMTgh{lEfrX)mfs>(^fsdh&L71VRL6Tv@j#jv8_2R@JPPI)v8Xei2eZ}#S+^!%XVC!wb-Nli delta 91 zcmZqXYUbMTgh{lMfrX))fs>(!fsdh=L71VBL6V_=@=vBz#@UnOncWzdO;%tLoxGb_ jopA%0^#jP-1!UPU9s%=ff$?3=9m03Y&Q()ArnOY)s_@{3awlX6lg zItH`wGBRjR6cF9GmXnc1juEIyKzj03M&Wu!23DXcoGgqC>B78s*kPJVA0GJkJ5CYS}3?g7!6iSORh@VPImA0-DRjAk82Hq=EKu MFvtQG$TM&P08ua(+5i9m delta 183 zcmZ9^O%4G;5QgEmCf!3fM*A6mgV@f}%0cX1#RVkNaS~e#2bjB9+lkV#5Sx0E@2jel zeHh=oZg*hII{IBa>`h0gV<@kU6SEXHF;wwvFHb3sx`#7@B?q-d8^LL6RIf=_lTXv5 iNcIWI0mJ0z>zMNIa>DdCA!DY0Gv+K*uU(bvSmE9*lMn|0 diff --git a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class index 96da633c284f5067d0d83fa640f952680cde47a8..1e7b3c9cad8f9dc760e7f2deb1849631c8c201e9 100644 GIT binary patch literal 8977 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�jA0N3V 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 P|K?TxI#h=LfJ*o;0@wa- diff --git a/libjava/classpath/lib/javax/sound/midi/Receiver.class b/libjava/classpath/lib/javax/sound/midi/Receiver.class index 965bd62c370281e7811906426a5b830f1d11cda8..01b552499f25712e243bb3c93550b352057ccc48 100644 GIT binary patch delta 100 zcmeytIGu^>)W2Q(7#J7~83ZPBnaZ*=urV@-XC;;;>gOcprRzJEmgGC<(2C&B(wC)WXEV$iU9P!NADC3FNT=X)d4$4+Afd$H>43Qo+Cv0QMdd3IG5A delta 68 zcmbQv^n;P>)W2Q(7#J7~8Tcl0nNEzcX5^eWBSaG@!obAB$iT|L#=ywH4&<=_X%3(W Q7Xvqt$H>3~Qo+Cr0QGGNApigX diff --git a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class index 9d6077963fd5504611df56c42ebdc37b8becbf1d..6ff8e6175a8c282a8c5390cb5d0d38b221adb9d0 100644 GIT binary patch delta 419 zcmZWkO;5r=6r9~{v5iIisEB|93fiuk9=xg-;z=*Y=+$hDX*7g`h)0b7K(qhDNMhrE z@@V4Sw`{_pT;|Q2_h$C(kN4}njhp`EecD$~!^b;@@ccnNtE8v;Y0~Yf!Qe=qynkHq z(?~aXUB~ROvmBs^6$TN-*FG3l1Gp#{wiaLxo?+|yl?`=~|8*JW0dSZlhl~rvty01w zO-9r^R73fVCApUo+0Rgx2N^13(gmveSky{2;?i!Sjt!lP*2^Yo0lh|U_{0S92AYH> zIiYH1uKYsyNraj{ylAE8oJW zpd_*P%xprjH20pIJKwo?7T(+&O~=1?>wfp;`St02IOsu9$1o9Ft zGFlZS*5GNi8-0o4_$Q3A)?Xi-J7gp*WC7MqY_We(IqZ4$jcs)jBT%O?3hFFIIHhl6 zkF`h|xZul6__!i_jQ}^;r>hbk2RMx0?CNKUp5%IF^6e251j?we>V4Cr1dh=%r?kz%oqsN# BB+38) diff --git a/libjava/classpath/lib/javax/sound/midi/Track.class b/libjava/classpath/lib/javax/sound/midi/Track.class index 48f61a4f035c13dc095a090f716dffe19ca2089a..bdbc3a80b6442ec30cdb3e6d263f7eae02ea28f2 100644 GIT binary patch literal 2152 zcmah}-%}e^6#gzG1mY?XNGLxlfkGP~B|v|u4Nw7To64^ign|{jBwJVr8{KRWedvSJ z(RZgW+OeZgzTk|G7G`9|cI3@}#3%m+>v!*lB$`1dlf8S-J?Eb9JLfz5`(MBO3SbcL z`%obe+SGUS-B>o0vr@5bGiAmWY(2T5K|gMtT+nJQJCe;YTIvG-!C)hrlt<5-NVwqpk)5K@DD1`OqX#U*wwy zs$7tjPSG8qT1LrAuZkM>j3r8+5};`xbYd&uVB#mmd-I`p_fLQr7#z^&0vR z74WSa&VrfTQq{XD%hInQh5^re}V$FjqS`1I~>BB8b&4EdW>tBz+0qaS}9|9 z_WlV)QcSMNsEa<_5NImuKVdnBZRzPr+s@e4V8UhvG;CVotl@;$a!%OFIN`LJb^N%F zDXFgMf908XY|~ngOPcM+6*^%Y$Z&EuX?)f~cV!#iNE8aV(HdM?X;MN7r8uwiFDlERFacB^Rh;f}zWV%`%|vTdreYyoq0 zmvr{T5USkkP+1hLe?F75lg2euPK;m8K)+0i4o+Ytzf~3da}2rjsa-WK9Js>%C7wY} zGcB+1?G~d1*Vf(x)b<{te)#|mPtnNN5MNI{Me~p9qE>^C$d~45^RzB)vpTF8wr1G^z>uYNte_6m|T)%4sm@skT}5G&x*9J zC|dnY2n;ZpTwPjc*8Ct-NYtNG!k^LOK?%}G0cnH{86ln!b+>|d6;gg%X_5GbxJnUMOMFz& z9^c(Oau9$=B`U2hsPr!Dao=;qh2I^&mHi7q4?CRfdDb1+> delta 1007 zcmYk5%TH556vn@~kKR&l-?UT;w8d8Xg7Q#Mv8ad$NKqbIt1N7UD9R3S;YJs1UDRQt zL?R30hJ{8ci6lboj-84Bg3*l$YZu~~+oqVNy=T6A=9}L+XZp+W!*1FC`}qriPRtZ6 zlZCZV;lNj8)lmbB20M2$Pqz)$8ZfwYs4!`$V{ksqKhCF?m*y8z!}-MrQ*%oexXW4f zIy9JhjxCzq2sSD7#a%S8hUg@5o6Hq&n->Q-+RO$M`NQF z*pSeXL>q&$IR9kMkVk}^($RrVJ|hLqHgpTelYB**b-9t&(I@O}IIrUZF7iK8xYmYC zLhjUXnaAWtc7+eg&E`Rjhyq9Xf;_^;c~Ne&W?;1-g9#mznBoU=n%&^-%JTt067^7n zO!TFuP$Oz7nt)6Z;E!)ZkMF>i+lFHcP72)=dbZ&GK(8hExK*uxdW>Sdya5gH(~1## zQ^o8z6vI9r{{&|)^OYXnL=nv|p(RW5W@XuuB`rK4a*Bv6vpwoNm{!z7kGh6>p?cIJ z+V>EltkCM~!=GhMxtl0T=;CkHF!S+!wby`&(~&^F0wbbR=pmdi&Y~Bmsk#(>&d^FF zwXcf$k=}@%X<>eZdhS&f)k&27{Y`6dh?J%x2C~VLvblr7oNH(s!@K;MDM%z6ri4Kf zBuDbAlB6pn0cw*tU-Y>HSE-d_l&8=tV@%)$DS{+=MB?<98;~r$AKyWS=5Vd8i0gaE z>?TXQWC0MXSXMO=g~dWwr+ z78o>_&9WQ)nhbpvN3%CqXP-l?vVWQUL<1sXzdtu7hA(`K1~)3R)sb?C*`M}NrpqXM ior-uvL>p+qx^ae=svw`r8FuQ diff --git a/libjava/classpath/lib/javax/sound/midi/Transmitter.class b/libjava/classpath/lib/javax/sound/midi/Transmitter.class index 41b968b49ff38ac6a3be4147a56ce54368d3179f..b68647baefba22127fb1e62f129ca7dcbc91ee3a 100644 GIT binary patch delta 93 zcmey(IE#tv)W2Q(7#J7~8Tco1S;(?8urV@-XC;;;>gOcprRzJEmgGC<dTFtac+urjbQFaT+G1`aUI$-o7aVPxP2 Il1vOd0FR{y_5c6? diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class index 81dc2ac1a00e01550bd4d7a6d818e2c7ff7483da..4c0d466d5836ec775a9c188d84537a38a1b597dc 100644 GIT binary patch literal 13183 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 St44mlpqljO6MPNG-~SIcuGUHb literal 12598 zcmcIqd0>?FnSOp>CYdA*0TKe_0CI5TWFSBk0$41IVRrce`sB4{F=Btv$5WBGq-R+iP3t^ZveXX1+x&x2(QGLACJNs&FV8^MzuYe8E0{ z#s&UU$XXT%1!5}{GODUKDY#aJyZyPyz<3XGkgG7EH4yT*_w{V|M>hDj2mK29t>G?T zaFZ_*kk8gbS8P`xs!-lK3f?B}-|3HO37P{ze{(p}<0Ib1ReGm45cbOBrt0AjN^av} zxvTef`FmplO6JBCg#}LcZwy8IdV9l>n7=!5ablkv(-aD{26=hQI@=e;3Ui&#i}nUg z8wiwZ{Jw5~Bp0Qa;l^}@(w(6`Z&%P4jrRItySyF#$euu#zuDIn3rBABU?$3_)L=OL z{=VMzk?@`XH&bzQE%~((SIKTm1>U|`An0w0`6E6a&@>JenB_(#)u6q##yo{-J1ARO?8aVyStuMU zi}<_3J41n+{N1@I#C##g0);|5>W)|>5Zc)!EK)lZ@=^`ThXGn)QOT=Is~=2v00(Y$?FoXYsL&MfE=>bgZJWnBylXfG7|CK$n9083R0MFsU_u^ z8`mk+jzM3Vs?ok6-K)SxWlL?s2&;ZiOkS(Uo6V5%#j7_bp4` z&?|UNhv_hm*~Cugu@Fe?9uT|l6l;r%%o!e({SqoL&R*MNg}ozyv<$yG)D`ZQP?O$G z&M`%^$#yecA*?XpiFguz%&VC|_b^;D+r&e6F0KbNPefss)7HVaco0LMLJmcbXTC}+ zOgoyzT*Rmy!VMnm1<73)h$dll#Pga$`@5nz>q2qQ5I*2R5G*nNR-r=22%Vi;f=W;J9ZbE0O%+QPuPA(n<7phnVam3aj7A-63E<)lw0!NfD%7>@V{IpQ8B0eaS|V4#Pcl*qsZ7&w22V_`HILm$U`;`Xeo&9Sj=uVCNK~ z*UXYd^k9VtJoqBMq>vrop3vQ3-?wda)`4EYV(>wH#f<|BMNXpVMIQ9yA=VDOvm@LW z>GF$!4Aawx11;ZEKM%76bUIYjmyJWL8baYR`B0Y7RWA06XJ-Z|FmEUyRVhpvJ%POn zC5{el%EH8^HXYC15q2x!)U!y_^6XfjOhRA_Q`Yx&Y#>})#?SWNe* z2S;#}p6qyO@)$QxD$I5=hQvIrrer!gfzuv5hR4|z2BP{qTaKu7My!`vkQw+-;DKy> zi(N{Oa9jtN9nycY8gxWD1O?fC0-tl^KNMy-!A{=i#@ARp>r>4}$Eu{9E1TrLCaGtn z{53g!g)inaZL-E$LbG<%0dttzJoO+tz*A(f6ZrUDT3>EFW97!d#7jLd7iVx*nx^k2 zdj(so=cv{c%$tNT-}B)6_yG+Qh>El}!&W$po#c>ob!!lWf;_`+-HaVQ ztZOSB!K6q{-DhcT(93r^-)sl(c%aRe&Tf*bKwg=tue6(8#4|(iN@o-{`G*f4Ch1=r$|B@BtFlpLxt<-P7@!&1| zAG2#9YO*nYug&x7$8x`}s(juEiO!?|G?$&K(4(fvj3~>0eV;E#3@(|1 zjNB0pI!JtIY}b;Oti)BRN9C)6ktZU_G4p8hrF1=%O@WinOg#uv@Qr}bzA=3{OeQ1- z@iQ$GaIp%P{<$A<8pu0tr}RpIOXj@ zd?nR{==8OCJa?-`HjGYNlbP2gm4;g_8Ky51??O3kpTS>mm@<%wEWWz=$v`&0G356Y zJ{iX+3;C+}nptxMp0DdAdHg?@i@=Gd3s+$R-+9bMn21UIlp|Anu9(dCS$r+TRDIaT zd8J%hpI>y8tyDiI*B(Q;ViQo*R#!8CxraOXfV#f_!nxxp+>&2^1m4p;x&YINvyey0 zL{=3Bgnl3c@sfK3GzcJAeUps2p})J2$1g?4D#|3K;B7^cM;?#2=dbec`rfU zMUeNWfV={$hXu)DI&~|2d4YP*a!#p%Yn}43Z=s}X;%cSc8KKlw; z_Yg{O5M_86bMOefd|krlm*cBih(!dIjTVyRZ+K1~R#|i?A(?#GP7Rk)@Ge}(J1Q}S zB+4SU{ah=|Hh1peryQ9dTcV!l+AKcXXo=dYMQ!Vcx6Weq+V*%=NroOUJBCe>P<*py6)CKB5z}w~Ybq z?KZR@9fbDd4rqVHThH;9^F;e=qJ52MUnkmgMEk}dw0EY3_O6R?^1BB+`AFgNZ9=|) z9K~R&Tqsgmbn*-Qb#|PFn@+go;PWCterhnt5yGV^LY68f$WnrwNs#3z=I2T^Ck5n4 z;gX}(ivW4=V2~q(OSOm~7Zc{F_wh9Tw2fm1iY{Xo(30}Tm!tX9uTeK7sFI~*<|Aem* zQx=_#QWNV$lKe2fPV`er`G3a05Opyfz>JqUxDVeLBH2AwxL8y}aatMPDNb9)ihfL~ zn{En|%Qsq<3^l!u61?glflm5r7cx}<9<>{jRFHb_VfnBdH7cx8n;~KmzKH>%&SVx4 ztSr75Bn7JkoKlTdLIfw8!(y$Y6*e@+_}$CrL}`Fie9ENc<$FX zSOtpu0JVKHwf#YA`xgG`#;xSa&8Scxv0<$v*5kzLB0|x%gtJnuYlCOzX#9ee(|CR- z3HD>urqoc2@=utFwIrTcPv{!z)PCehE%n6Vcp`mK2i<>731g-Hr8YlnV{%-ZS(vB8tQ2E;472}6S##t^1`F5oM3tKOEqsZ@PkaOT_w*D0w{_zG z&t&2^NzA0L9z>oxKnnB|^g}392l>Y&50k_PN#X+}@u38XhfDgV0Fv~VQ|-ei{U@pF z9DE1=HH0ePpwUF&=HocCCI4yG$IpuIYG%(Sp~;%1t|Aw$@SH(rOweyhp~vv_;e8g- zf24{2-zl!D^PxJ1aq3Y_P{%P@okXcRMK?W-h5WosJ)V$`x8sM93^NW*q|%RQj0vo6 ze@vMSRtdG5N*ScoR81w9mgR*ZvfM#gB%^zivb5D|+B5oS_<8kwXQ6ihJw;TZo+jvL z$o6OHnP)LueOCiDz0zv|&rC3#V@-=uZ_+H%lx&LES8?qwOlp^2 z`EvtHGcy`lZLq+~EX*f>-b| z^)$ySv$AYumYne`%ALa!;?*JMNu}EPF;MONAgaCQK(#k%wcn6xZ;@)hCDndMs{Ni) zzeTG3@f}g^9R6pBEU8q}vJ6YL^M^InQbB8~8RIaHGq#DwcoZ9Xm~BkB2&%n-|Fx+0 zXHrc{`E7Bk#Vgw-WW8=srLrBso4QV%RX>2=rd8B`%i`Q0H0S<5$+3Yw^4*_ zqXcSLTMKCx_uKGiT?l8R)8bzq|B@+Q z+}Bx!a2;9qHvUBZc^!&-*?B>;j>Aez6+^oktH@7uHCh!)rKNy)S2IKbx`{L9QvqHo zU;!1-Km{zK0v4mfXhfB9359ROaz1Z1me>T}NWmrI4cFC}9e{K-rr^VMHCk}Rv8W~Z zTUNN)Y;mAXbD+H+4fSyjNIYkMqcYjMbF8 znR2h8+$|_It|E)qqSk1|V!pnI&s&UkEw>qPHnUVWJD<(ULk&nTeRL2svtu0zTCNPGEoi%`0x3vKrCiRhDQ%#G zOx9?mRF;P1b(^Bh=zTZQd=e9kPto>wGlJiv5tvPAsh&pgK&GOpY8r1b$X{tcgsu7P z5zRulfuChEnSE3h*Bn(PNn=Q(0^{@gOmi@qtxsYlC$nd3|8nk^A!bhPQ8mNqfJgKJ zQ_Mxy0a6UgP(?B|f8e%`x`As%1+(K_!&I|tV0EI4Cz2-KHk`BRqF8c{@lCjl0b1oK zrWwbmivjw@})5abqbebM;FBAML1b>d;UnThS1pf-bzcwoP zI#oXmctg#j$cFN&`FyRR0y@FR4rQ>$mx17C-+5BCca* diff --git a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class index 209f4f955895464b6a832cbbbe9887dc5312bd7c..b12d731a3779392abfe40bd5d0d0bbc7fb8f19e1 100644 GIT binary patch delta 430 zcmZ9G&n^Q|7{z~greo%gQN?H}kz!$HDkS!eCKhZ((y*L_U_&FU`wE)Ah6O>bJ&UE6 z@ZCETX}Y-gJLmgz&iV0w{pVckv)k*t{PF2ww5OWGyyY~KQD4OyX-`o(y1%>%aj8aV z<`r&|_B4ux;dlT2M0M0a;R6l<73ph2!9{15NG9jP9jRgV#a!0@r1mDvWl{dBROra% zp_v^iCGpVcX-T*a$RsFwde$b6b)7e|8}d^Zr={T%RZ>R%C=*ji~<~6heE|G z9TZL0WNNZ@W!q$p%yC=ZnDv(_jnj#g5%EnKGomHPgxX}Qlsm8-0wXtOdpgd=M4X_E RU2lItdy5jTjla6RV6xBv|YFjSS{?fiva}L8?|R`dxeuzfaAiUR0+lohBekT zb*zWlcC6MNclAazpQbcUCn)Vdr9Gl0Uff$?3=9m045|~kOk~*^*cchavl7b^^>Y&Q()ArnOY)s_@{3awlX6lw z+Ql(4N=%;1n8zZ=$e=J$Kx7gl`{aB^RyKA91x5yGs6YS{CyO#8gX}~BiOHo*!t9I; ztUwDmCr@QEwHIMvU}0nsW#D39WDo<2vH)pupok;`2aw0aAO$9+8DxO85Rfm+AkU!4 Nz{#KlRHwqg2>_kw97zBG delta 149 zcmZ3$*2pGs>ff$?3=9m049e^bOpFW?lM5L|CaOqnjE-Yu5o2V~0r4kaWDIAKVPsGM zauk@^8RRDWGpVyEGBU`5W&4=Kd4WbSaI!EmurjbQFic*VLO{MWgDitQ11Ez5P@NJ3CjbN^6U_hs diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class index 25f7b08b78eb9a8fe864684eefb075567480ea9c..b79d528ca3d86b9775d5b337785ca56c58da75ce 100644 GIT binary patch delta 21 ccmZqRZQ$K-iIvlgfs4hQL4?I}@@>|o06Z)Oj{pDw delta 21 ccmZqRZQ$K-iIvlwfs4h0L4?I>@@>|o06a$pk^lez diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class index 58240b4697f86fe4d6a1448fb71ce02b3775bae4..8e60a6bf8c3b70e56f83087511e080a7d4ee4fca 100644 GIT binary patch delta 601 zcmX|8O-~b16g_X=?Ua@ww4eowSkj8L(~)93ezicsKtwHR3<-o~R|H~M7~__e+w$>@ z!h#KG-1t$YDFG5k*8B+ng09_gXGY0O-p#xBos)CUtw)>DhNG!Ja#cB6Tpu-X8zbtM zRup$sTn>qQYEt%_HXa!0KvCdoy0Th(Rm(lEtu5!~U%psbTP|f5!sy1BfpJWz*D|S3 z8koXE^;u49&(dl%V5==k_1wZpI|6uQAdd+b@z}rTe*m zo;}8OfjP5@UaN)p;y0d1+~E5rLI7=psE$tBK!i3Cr#DE^J7nlBOxi(#b}__%2Yp7y z4D*Y*kwyjrCc;Sats%=@=a;mQP_U(DxE{X^LxCL7) zC`XT#a=Yj_g}u~u_XzhL*FX!Up9oaU>=DWh#`r$EK0$wA;K5pn920)k{P0W)faP8d7ZkDJLW`!&y~0H9xBuR~PB4@_$*7dSuGottz)w FF936BUikn3 delta 643 zcmYk4O=}ZT6o#Lfdy=&2l%$QcQcEKlqiGV`CdRL{ezX`&wIR3)x^oeb;s;p4o!Pij zQR*y2P{dWSs6-5@rHi;1e~a$jcxDo+4BR>Q%sub>oO7o$_I#|}vk%8^-Q1|%yWgzb zZr*9$eXwC+GP5_LBslIcN6uR{Wvl2tHfgKmZJR?w1x`7Pa@zZ8ro(3)$}D=nOe%cN z;XD_-Nx9_p>~;HE##;!LyiIW@v*bnyaoJ&>MPGT<;fhxMkd&Ec;p=a)t>H%)Y@q1< z3AwFohl9CYW-Pi)HNI%x=7_E{L_l63@`RW?B`(jHl1*HBNkKf)dS;@p!%>duP8G>8 zi=~f(=o-^pIoLy7jV8L}UlTD~s`^pCsZ&c|VLgJp3M3srCO(j~w2y^>(8B?CdS7UC zkHYow6FZ#j`CW85^PSLIHn+o4TSZLJ$2g+mZ-~lU4#+!_^8P>ebY|d`REiWA)oWQx zeTsf&MI$>H_j;t-T59)=s*OH`8YXM~u-eG~Go52ZO}7}94Ncy<_d+-Z|aJac3ct46{AbV)k3teSXe47mrK#b!h>?3pMFjTXyTL|F+07d0}PS2 zhs_@E*#N_wvkPX<-mmjhNm7k?xEP?1w4YYS0$e7oFjtBzj=mD$Dk+6;p>%0!rTk3c zx&LrsaZb@Rzj}9h&K0YLWj~6XbIMVBQ@>Wz_K2rcd50+v#H}hpYm3%=m9}+4R$`s@ z#3o@y*7{5+xk2>iniQJEWbL5=^aNUG@aQbfdXjy5ny{WCqGyQdS>jR`tsTxm4vCU$ zI4nCA5&RtB2ptBNqysyt1ct=YvmNtV>Xtp>ZL0{e$F%A)9l9jGKA~4XC9a>7(iH~v3x@P77u%}cwd3))%c^8DTDT?+7=(o` zBW|0n*&)dYn^Yyl*52C31ZHs5nXtOkad|5#^H>{X?ccu6t_e{F*XxZ=aznH;Qi>^N GX!r-ZIdNeC delta 766 zcmYk4&rcIk5XZl7_w7>KHB>9h4^vZ$RoE5^YOP8Y2~tqof)vFbG*(?}wZEi|#%R)b z@Gp2L61{lwT8z-3iEzb>|B4rn8fSMaczOF~W@qLz-#0(K@4W8sf4+PJFoB!v?l+S7 zB_-LINXVh&ID?+42Fle{Ghmj?vRP@=110lOW6X_FoYHU*rx|*NQ%~~G^U+eiQix_7 ztHnxTa^#j9KEyPfMO=K8gX(z=7ceP)$Qjlvwk2JBkg~$hb2B3_JWy~&Ll|)@DXC!& zaR#|oty%U}4cA~WbQSBf-5{}b302Sbi;5-F|r_s%qaD-LwII z-p36R4tNCzcnv=Oj8N+s;x7>9uMp#}5$8=?nt;=OPtT-{&*-haxK1_p2O&s`O@Vo* vt@Y?=9kR6s#JGzmQdWQG9aUR$X7{j`Kt{%nEp*0T#0|2oy= 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 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 . + 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 , 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 #include +#include #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 index 8b98e630029bd4ee522c24dc645c87c331cd8849..79882ce6ae59de336aeaae71f8f3a634286fbf95 100644 GIT binary patch delta 169 zcmaFLdXbIm)W2Q(7#J7~8Pqm%X)@I_GH?cGrspM=loq8jGKBhMC6*=X=OpH(>-#5V zr6!kHLqsz3^@CH3G81z$s}hrPQlX+?bWEFS;> delta 43 ycmcb}_LNoN)W2Q(7#J7~8C2LAm>3y^CpR()Z&VgwnmnCpB_|_;5>SqbK^XuM2no3W 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 index 56584bdbb7ba83759c7a9a921b6d0ab8c1528781..322735549586fedab8536604294a280cd397215a 100644 GIT binary patch delta 244 zcmbO&@JE2_)W2Q(7#J7~84@;f=`ynzFfzDLc4X0?oW*>Z(QvaJ%WFm-F`xY8#GJ6i zqRhmkoYauYg47TYgOS15Co8cmQNOe#GeZ(Ri~R%WKBT6>J@>u?(z? zF_T%@of#7+d$P+jKA)V)o@dI$zz@``$H2|Nz?ja!!I;S)%9zC0AsKm!~g&Q 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 index 939e890ceaee35270c0221330eaf108c11558f1d..902a01419b0e57e0c317903d9cf7d907a27a280b 100644 GIT binary patch delta 331 zcmWN~TSP+v9DwovceZ7ci77^mF-;{}H;Pd`)Vl1U=(0sO-IY?xQWo9Tb=g`)L_~@h zQ$!@9he(Pf$&o~Q=)E55ynnu*YEdn*8=b+4xEzr-GULBGkKW)A1L+Zuv5c&E*yvLN zIiklY3FL~2JTa3mb_yheLUB_hUW&z!OM;ZhCZ%#nxtvfT*SO`5N_n74RI25h8u`P6 zo?1-QkxV^i8c3xP3r(cq#flFb&Dd!nn^vZ2XC^=g^K`OE7b|oVqK7cOMCoIjes&mO zmqGRzVxM6S7~zOfju|7yIC1=(GQk;>oHNA*0WP)mm4@6h%e{7gVu5FZylBcROQr)pTzMF-rj#h9wzfoJOiX08HiklB z4ozdsG5+K%lrwYs-G2LgUvI-EaMHvnw>p2v9QQi^pz~>+cw&neExmHUn^xYn@`1sp7QVEQ f$9bs-H$3atZ+-ev1^lWKrIbUNluKFsg+;l4?=oz{ 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 deleted file mode 100644 index d81864f04a86ac18c451176a82d6145543665683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4359 zcmbVQ>317f75`mH_DJ$1v7HdAEbZXB@h;UNfkbxF+KJP+wH-G$Hcr{b(z85?JfqBv zlDL7Evacy?ffibzApshemefuf8g>d{>FMd8z~Kv@_}p+f+&3fHBU?3uFM4m@yL0#7 zy?1ou-!EMU(2c(+2od(>%wj5&*Bz&zyR#|Rvhq$UYi07nby9uPj%(`~_n`OO>@P&^Tme z^!$Ww8}hky7?I`??zsgWt2mYIja#0RNAx*Q)G9Lwv7B&+gqd?^3E|eZLH>1wOW54{ zP!$u7#jyq36l^85|L=}hu^qP)qIxDH94~D5-je&7CD2B zv=zLAu+B5R=o z3PuQTT^8!&yuWDVIiyjHvPOQX(%6BHqqW2_EW-7VUTRW!4m+H}#?%JJ0ZyeMf|OE_kWJeS_nPO(3dQu36FV|a)Yz_omygiRGr zEfp&X+V`q>pR7#r0@p8hz_u+;)Lwi*g^p=IHwMmRgkO_6KI|ywwK^4|U<-GxscyzH zUEMGp&7HNa(~fjl(Gje1FJ@Hau$iE8E(}{)W5y7+6NN$OUz4Tb*$K96%;0$s1ob2PZ5`93UHC^l?2 zzM$fZ_!6s7D6$HBssv-Tf?vmz3cgV; zN=r8?o|2U%tY@=Pd}}3&%cw2EfzcpVB0CwyGaRlKEu)*Jdo+AuYh+-RUp`F$lmRiBKc%qrpPR|Nc^IJbpPSxBX75I@<;Ku}Q zS%JZPUgY$ApEoruNsZ&DlJt2((`r&XSDX`E-pZy$@iWFt(7#@pcYgYN^8uGnI>uFiOQMgH zQJ!3QGVw_~MK~qOEx;!!ck3+y6qLhL>ccz}@R(EZ5Ee1Ld9T)INw|GzEu8Y0NL&H8 z2Y8RI%rmCx3fz}vziDbPeN%wGdL)^sxeC$B7&2LW%qrR$A;&FtaphE>l<{E~51OX1 zJ@?7p)foI<@SO;aNA)m&vQT}!oY#3LpATul2SB8Vvp3vo~ceg8z4V=4acVzkx$nqYKS#FJQYsVvWC`V zWM888DmZ3Waa#U-i115%G_53R6UtS5Jj73*PDiEUm+{$zl89c#<6%tte)+O|{8|W; z7x7Q;Xr*!AT-E`9O-HKP|1^^%A`AF-fb`kwq~9x%UJQ_)sZRRC66vJ?>G0a5KM9aF zRkh}YC5mmAICD3lnZGkGV-vMeClsCmw2!vXe(Iz?>Y{!cp@TF^12j+f(OEi7=jndBKo8KXG)%AY z?Hhc1lO7BuXv~AgIjooIUxpX&u5fA)LZJj+!Zo%a9%{hP*#lwrK^QON5F)r6|0?bJ z@ef?bFBs>qV}dj290TemlK2(Bp-_x#!LRWfL}?T|@LT+j|9&{@?S9X@3*PP(-o57S Z{=l3=_@f8m8~78ian^)**7!3*{{ftZ&%yuz 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 deleted file mode 100644 index 9336e35848185e070f1e1217f5922ad8e60f1d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmb7CO>fgc5Pjn~apEjAG!VW&n}eH17!bE2q$m|qC95E{>H$t0cjdTp?aJP8hXWV* zDO`|1AP)QheiUNXu4pPkMK3!$Z+G6j`S|(k`wsvQ(RW}GMo~KR!$cOvq101fXIWDC zds&z$UHGF(p>rAPjneN|=J}zHvvfyB{N)A5IIs!cX*Bb3god8RMgIX|7@QV#GWR;i zJ&Ds;KV`|@SptK7`C9skOe23==W!aXukI4;aki&gAhZSQXt=21oPdM#giGGykfk6_ z)z<7_qVgR%Nfco@$U>Ry$~-py5onw82;(zo{6}NCW;ZLFy(JIIbbpmXXhli~Dvk7% zQ1ezd`7D$s^t@LK%6RGG8g4kaP8j@u^963ANodM2R7KH$%vmd4qdX^c7bIfk+u1A+ z)w9?%s(W&n_e~uHv6-eSADi7%+_B#LnjEhe?(mdqys^~jm{IY~cn+G3xA-=ORU+-d z+84Nk;a7-H3|m;@(`5^Ki#okQhy9-M(Z&TVvo*IaE;7br=eLS*$d>rcs(&9H^?JlXxQr`|7%3Yp#PEy3XSi$jqi?usA9GY%-ovF2b6Uh7EdsZ2o0%*w+2p;8 Ndu&}sh^Mv!>oZJex 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 index b3a2f7b42ee3aedb8e80fffc42273287e42b30af..04004cb70a28500330ec7bdcc7958f9456230719 100644 GIT binary patch delta 362 zcmaFKahHqh)W2Q(7#J7~8LT#P{bXde(D0ckU_4ojNu8G|Gn@X zqQs<}R2z`t64rLsj0`-Ud3mWt&N+$2#i_;Y3>J(GS`!7dCNF2wU}T$ofys=I@d*P9 z<1+?M#^(%zj4vjOF#9txzM1@uS$=X0vnCVc$I0uN<@p>Kn1GOhfk$f#gM{|v`^=(B zjNcfffg)lMaRwO%Ss)Lnfs-{}KIcz|M> zP@_4uv=1;aZeuW50~BOpkOGoyU`>o*13u? E0Gsqhm;e9( delta 186 zcmcc1^^$|@)W2Q(7#J7~8B8{E{bZb+&m=L~j!B7wJw3I=FEKZDazB%*Fpp8shBpU-GkeLcpA+Qt5|kLkL{VgL=TZp$ z8zU%4MrJ_VxN+l0xDfmZu{ydCrRjQfpE`A_ZmNr3&%^7#TLA6Yyz)#EMVgaEZ&>b9 zj2s6Ac~1c`DqpCfaZI3UHg9F@)bXBuvb`1aU<7r_OzN1zv}|%3k(7Y=t={Hz48s&~ zW$c2vCE#yP?pTLbC~M_1p^1$hd$V8!O%DW?bi|R6N6uf3?wRdO&MF-2+XCtD_+&Bd zb3~OqztL+5=w>cw?+;|HeBRDiz>*ivbD_zo>+DAuI(49qIuW2Qv{5&r6u~g{AVmh! z)GnV~UG82uDGoO!JT08$mG|BsQyn&e-ME7}q!YG&A!Fnh_LpQ(i@A2mPC!<5fjAUjs>q?b8d x@148}-qgYee~^onT6at99YhI>U!*cjNmUTSayeSTYT2)0oxR#UuNfQA-vE~rU0whH delta 472 zcmZXO?JGl39LK+BXLnCs56yGDQBzFvkP>rKrkIU+*f7tR-DYcDy1Pgc-gv*xKcFxV zk*PI8^4dEu{WEedLh01^ch2{FzMp>S;=97)m-qW80IgWC!bH%{h|qr1S58aH>H`UR zLvBvWYOFc9lu(v+mZnm*u&S>p8iDg)>|w9eB?Sm7ev9L}7FT1v>+xh%(QFtdC2FUm6Jx)RZ+s*2`K%Bhr+ zvSN;!`XMAZ1Jo0%_f+_AltXPnjZh8!gp#y$ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class index 794d3568d94c3045f20262d914639282d3a85b39..9c7adce8f36cb4a5bf046744c760bdfb708c4a15 100644 GIT binary patch literal 28956 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 literal 27182 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class index 88ed2d53cc68cb7b657fb5ec0f7124d448a0477a..e15bd1484a3900c8d009e7309e6fd15c3073e8bc 100644 GIT binary patch delta 1545 zcmaJ>T~}0P6n@@0XU-W8XK)yq(SaHH5CMmQ0aPLf2qZr+AQIA0`#8!0M{x#^2NTNB zqVFiD*CZ%gcG2R-)vC2>fGBINRyWm6tFG+6tNH_7X#1T(po_YBKlZzyy`TN;ea`Rx zj{@3{cfYy~pdL3;n%S7s7avX-_LyZdgu6}~7mVnb9UqDInRfHKt7Q(G7o)v~ZJSmi z)|whA%5m$+fu>?Z>Z;$B2X_t_ys1xT-G-@KHxetPr~dx6Lj*K=9+W8X|a5$8OXy6vWRTq#`>9&4e8v ziknuiVc8;nvyK+D@}C^#+uE>4MLWZ$H97uOzm5((%nPLEqJ21^Vn2g>&69-F(TRin zjP#q6;ZW5veohYYuw1~J=@hJLjj1@wkiQ1$w@i~@8V2CjNW~|0JcXyZDMu7TBsjrm zWV4>Z-<3RRj2t$sxN%~{>>nRB`^AA_$GT4SB`w<=6zvn)^wwA|_TjXSGZ^8Dv!Wz{ zQ58vQ)mr{eYN}x;Egk1z@h)dcj*SZ{#uy5DyHe=a@hn=YI|<{gsi6(yIwtTO|HQdR zxr9j-FYv#d!O&$~VNlN+_Q_M`c?PL!`_Wt^@RE)xT;UbUwOtI+bwuxH{hu)-rQYV> zC_#3W-%&#DY3$N44K6x;jmv7ohU*OMlCZrmY_oie6yiT9UL_`M&3r=LIZ2#o+8uDg zNz&59(wa+_J&@=Gc)|s-&(S!}O7tl@5V&H?HZZsm; zOtAxWmg!a~BC{KW6FGmCTB_3;f<4P9qu}K{>Z+UEmPX}~c@+DUMO4osFChDrH0sHu zFQagvdI3AXm0RYq*Hi0LZo(6gy^R7Qk*(en7B<3o*N18Pk1$hC=5yBE{`lTdaPEHe zAcYTqf&74+Mr;ueEn%+%M^CqRInV{wq~dC3pl~RG$OCpc_53tN0m@qL(W5 z;CnoVLsb7p+(aL}IuRuG`|&sw!W_ntjKAo?6B*^_2qjaN$T9{pTj>)uDzo zj>TJ3_}LJVV5$Bo?Zs3jTXuc-Q-08Z&9k34I)>6mu(72d=N1*TCw$ Jevond@E=*#I$i(( delta 1291 zcmZ`&U2s!H6#n+!n|srnn>J0Gq=AH_lu~+=rnFS7r485u7NiBOwg&O%+NN!=O*KvN z4+vnjpd!{qm@*@SGmaf+c)%G=h?zlWd~wckyf*!53e4_nbZFJKuNq z>{b6SUj6&OzrF>a1DBWeq*#(y)`qf8+ZhR{8RZSS;H9rLGe0A;n1lMhYdW9 zBm6HVsy-_+pX1H8r0&3OBn?brivMQYtfugyhNHYj^~p1s<*jO1ox{r-Ug8JUP<;ly z)c&+JOYM(?N-f|RKcn_ny^7a0yvE?;In5U`@CJ@EXtP#!d^$N_ez(I8q;S$e4#&By zT_kd6`E4!0-r;|0LFW>-=~%*f(XaP;oxRij0RuZBd>;xQXK3RcQVTz6x64cD;pgmK zIlxA;XaZ=hqG{=;kzlmD%mQ??1S3&E^;f9*f_xHcX|1LRU^^7*dkyVwvW&GH)S;d% z1`oUx?W40oR)auhA5)%2o*(7DNFM8kO9&?l5;pR^Rau{OEM>+2Q!fgK^m_-}&*xGJ=a(6Ot z?eH^?%+`zpk2dl3}Kj* zy6_zi;t=Vt!!AWD9*<)LD&;(ZCutQOKTFXH?a>lOso75r$?;XJGb6#yJQ6E# zM(I@a;u#{eD6?RMnExKVK?(F6Jm?6OshMjK_ozkjJS-|ee-AHUoMOdS5H!T|(g;_I ze?~Vp!s-_4i-T18W|h-rpz5g%@g6p?1gW4=cb&3R=7Hsw0qpJ2Fh_h>~{bF 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 index 3576ed98ead13691e0fb1a521133b7a7ab181492..064c32a94a0daaf91d77f9322a70ab49fce2abfd 100644 GIT binary patch delta 29 lcmdnWxs`LnEoMg5$+wxE88s)%vjnp0F-Y+0PcCI~004?;2j~C* delta 29 lcmdnWxs`LnEoMf|$+wxE8FeSivjnmlF-Y(lPcCI~004_H2lxO0 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 index 3d38a044d032c7996ec76fc619fb7b9200d2d2a9..be042e31c85d6a4a41f2a8da560e19375ae4305d 100644 GIT binary patch delta 29 lcmdnaxt(*vEoMfO$+wxE87(Huvjnr+GDz{-O)h6~0052f2rd8s delta 29 lcmdnaxt(*vEoMfG$+wxE8Eq!Zvjnp`GDz_{O)h6~0054-2tEJ+ 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 index c6e6f121d7e85b6c9fe6a449d9c93727760c4ddd..bc665c53955651577e07305439a98daeaedf26fd 100644 GIT binary patch delta 31 ncmey#^^xN8`MxN8|?xa%fcvN`|&vP}s% delta 31 ncmey#^^8+JG#SMW^?kd+u|--kDFo-hBYDfZHk*fjb*+WV9VK2)4}7 zGD6RD0;A)#9T^6O6?UE8+IU3E2eEm!@RVEz>vG9Vw8B0})1Gs?qkkMi99MyHXIN#!1lG68l-U)A6M%P-?`eD6}1;>G`4T zG-XIG*`~eWnqlM&E4p#)G%ZKM$SrbUts2Mq=P|$D;MS)bg zvZi8OpwQ2qn?{-EFor@F0>?FEk>k|~4JtAMdc$_*YSdkqeyi86V#8~j&YJ1lyibhj z(6R%8Bb7(R$rq975T{h`HE&>oOOl?v{_z z@=ARKmrzkr7MMIt8yaR&JtXNm>Bcexi>DFKpw3myYna339QFAsU%nuaYkHC2mJe-K zq~6!{JP%9Y`N1*=EPXW}X#lJ*t?s(gk5w-N6*mPI{#mh9@}IX6GgM=WenU{`{U%A# z6D%^ajnGPgMrR<2=EIwO?Z>hSA(dv7QJ>5lV8xz&JZA`w7uT0Uih&0{)g0%7( zy7Cp{$~T-O`$X?DPGOpMgo%R+f|G8N5H<4Q5PJ0uCg(mv(BBSbUXe)w!-vTc%J%`F zz6aEC4(I7y@Zb{Q{REhgfkbC*09>&4lDH($1P#)Jf?J*eyKvzvxG@ok z8Vzd`pTdnBUqPK72@*D)Iql4M&YbjC9*EN0_tPtYEOH&`#m%tXfvP}8n8BCMoCYz& zpk0)%N@lBhUNesymUUz`C1_AXV2CORLGrS=d(CbFD+(5|HIPjI>Z!ZC)6oWjOu+%>(9{6`iOKfs~cU!?&*Voglqca?K#S0 zf2Ekm0yA$G7!QR0M2 Hzk>J+jXg)M 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 index c7429e294aaafb7fa687c0479c496eb731c837e9..23331dd807afc31e2ec5d194175140baab639880 100644 GIT binary patch literal 81614 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 z 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class index 5d89719d40011f7b46527b48508b382675fbf7f7..0db6ddeefe1691b4e8be91a2c19facce0610f41e 100644 GIT binary patch delta 19 bcmey$@|9)7FGj}b$-fyr8RI6qG8q5>RL}=I delta 19 bcmey$@|9)7FGfbM$-fyr8GR?aG8q5>Q@{rq diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class index 3802e3405cedc6a9e4188d1b65f5c15f269c9132..64faa74cd05de155d226bfbef01fe39cf60d140b 100644 GIT binary patch delta 37 tcmcb|c8_gC1`}ic_bu!1EH=hy<*on5QeM_HjU`qaWe%)yKe&h?n?M#|%wieC^=6G27jQJj#H^lF(trRdix z16s505mt#ol^N18!#c5EGNKxzx@Jr_M09JtXIzg==!vMFiRpz&y)vaY;(BLVAI#{J zgua;7x7~l*N$Qsc{jp>Wu5kz$A8FIUis>ZNn0H#u+`1e#)WW9P*isi+1<5JIw!-9< oU`LA-lx9~MipsLDJO?UrXq(Hnx1uUXI delta 264 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 b#MU36mOq4yc>QFLj2NUvB4%TQO3(Q}!@9Bo literal 25782 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 K#EEj8@P7c%Pf^MM diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class index de3c21147f65bec0edd3c7c533c778645ccb485f..71e6b9640534e5af6b68ef52e33fb8ae86b89a03 100644 GIT binary patch delta 350 zcmbPf{lr?})W2Q(7#J7~8Sbz%FflTyPb`$$sI{J3Swh1nIX_pwxHL~cE3qswB|ll; zB|q6()02xqieWzw!vThalZAN9*$(qC9AP***`G&S!N{pc~Ez QHUOlAk>M7QWMa4t0PfsTz5oCK delta 242 zcmaE2J=0p?)W2Q(7#J7~8E&#OFflTyPb`$$sI{JZaxkx$GCRY5Mh4;J{9OIw(megF z#InSc{A7KX{A4Z$DTaeQ42KvFPyWMg&UTcC;TXg5$(B6Y+$VV$I2r7?8TK)poZP_^ zDVop7Amjtmsh^XWm#*)hl$DxXGWjP@)Z|iLe@6SwM|mUo!($kj8JK{MP|!Zeux}=V z)DDIN+Zc{$ZDTm0eSl%#PKHyA4BHq^uVG#TRKvtz4kY=2Iv5z{Gq5u(V31>2%wPfJ hi9yU@uw<|T@_?pIPLMTVTs}ELT9o}dkk7<$0{{wLKzaZG diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class index 7f8381f9160093696469802aa85d7d9f98debf1b..6050b4153ed910ad657321d70a5958c035238116 100644 GIT binary patch delta 1026 zcmZvbX>3eU6vzLk44v0E)tZ^tSvpJO@w6jd5EPBn)I<|o(ju+3sXeszC6<1$Z?POC zg2a-bNKn!gAwujFiG+mkMeRk)CyC|sj!)vtJ-_om_ndR@dG|F(8;Z2Mzb;+@kVlTQ z+Hpr0PxoP!)pK$dEULPSLC5?b-KBfb%w|0%!|lgm6)2=4z?=ljWbxXxi{8i+IK*nqZ`H`3uDm_*6<}id#~b(p;ttH`jEwXdWNy9HsfZ-Q(Wr zv}l0}6bLPpK#12kO)A|2OIW_dO+s4A1)k(7l#nWVVF3AY`K0Oj-x+nIone~r=)v62mJ=W@|Zl% zuk${S#$K<Z+W{?9XEUPd8K#*eR*`At9<#~BHm@6#gTx{dWOb7 zd?rr~7~I=$@nNy^{3gE;ds3`7sPl7wHeFKp4yBvCSCqD{W$7keRw|1c2*uS0!sUOt zW5DEHA%hFWHi}&yusAUs@7WMA>AK2p6}9ZIniK3oH@GAiqnm1Gr-K&V;-})@R(`LL zMRyd<4ViRT<)09`r|7lNeMQ0W0BYp&a40$y?T{e+vzG9$z9C&_bxk_fw)L zASi1GkgSj8fdWQ+KgOenc#_GF!nyQBx)#`;%GY|v(Tq{_oFB^*tj(}WU#cu!Rj|dg mQVP*TiJ};ipDFd)PGHZ9Tt#a=+5c@zszBQoq9j=pNdE)of(_OH delta 980 zcmXX^drXaC82>#b)#;qnIp_Q8oGz#M^rdiWW|RzzV-dBvG|J_ur2AYliDLf1#*Ak} zo3XhSwFzlN#@O6OlVSeiA95#`f7tN!X5aSyF3^dwJ%kY|H&W-PZx6ljXdn z)y8?lG$SV%ZwZd#+G_9mx*BhVf1|&ow%9wfw%CG$cyGlAeB`ILNy9%|@daPm9-bQZ z&5AHg4MRV^u|Ir?R!gww4({|;`D@C&d8;Z)i#Kpz_&x3!QAX2wbVORvL|8DEmqz47 zX2OaL*f0f=$btjYE_Oyl(4uS%!vsm11r0fHV-7r+izMVC1@kZ&`Iw3Y$i_nX7NHc2 zQH283qYzCf!fq_XJ}k#+tUw1=;+E(~C}Ed<6RqZahsG^-lghZ)o=t1muW6j@FsWQ3 zSyUmehua+nRq|tpkE&GuIHyU~id6`!8LHt-3tcPcT!&E9@hhi~>Xo0R8MIldW>ABw z-6495V(&GRwyGRcH>r{HbRRV--6ndQVsCYWwoB(IHlnDO|7iCGw6)cCGK=O%LhfbDgD}QQoB0$$QXkMqIE8cF*(&` zHI|Sn4m4z;1`0kV-32X_HP$wzFX(3;&dwKr#QXhc;gJV##p&Zvv9d^ zUyRNt;!NHl_)2t-pgZ2AZq>aYeiU8hhIk)W#t!vq|BK!f)w70f=OeN8`Z6 lNa|HTmy(zq)F;>dgbNb$>6v&=zLuCwF9ul%g$(wg(0}`i1&06t diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class index ce853e17119cb5f0b3bc1cffeee0cda5f08ce1ee..499539d2eabd44603ec39dfb7d0ad7ea5e2ab2b6 100644 GIT binary patch delta 81 zcmaFM{g!)!0t;i)WJQ)f$yNp_hBgKThIR%ch7JZZAls3li@}?rXYvV_ZHf~axELle kh%iiMkYkt%R56{wiD3pqD8o#KB!*cG84U9#&u8@m08+RVU;qFB delta 81 zcmaFM{g!)!0t;i|WJQ)f$r1)BhEfIvhB5{thH?foAls3llEIsydh!XDZHf&HTnvp2 jA`DFoattj%6>SVo4DAe|3>^$f44n)a484=*v-$x5C&3dx diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class index 2963ccf597e98c18e5bb77c300c694c342331147..3cbde58449f7aef1949eb413af8bd3a3756402d8 100644 GIT binary patch delta 221 zcmZ28m9b+QqrjmzXJ=qyWKf*U$RxE@92$RfeP$h3urA(0_za;oxVM*Yn{l^qyGJQ$c6 zn1FVP>|jXV#*nGCjUiWia)7D|w+KTFLo84ND7Cp>Rawy)5X%hn@g91=Y6Q~KK mjZ;he00Zkbrp;@B93}=QAjt+)!T`k1U=bjTX)B1uv<(1WCo)w4 delta 144 zcmeB}#<*rGBk!qyyY?|KFc>mzVP{~Pe4a~oqtSWm4s0U}V|^lw)Gr3;?rqCkFrk diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class index 7c9903dc5ea5b8e06bb649007ba6e6c02015a421..d7e8ae7700bdf33a360cfa77c25d84de71545748 100644 GIT binary patch delta 47 zcmaFD@`Po>Hb%ycleaS_$Zla^X4uBS#;}EfhhZy&5RevS*ukL8u#-WZVb5d}CIbLr Cw+!U~ delta 47 zcmaFD@`Po>Hb%w;leaS_$S!7JW?0I=#;}-yhhYhW5RevSSk9o#u!2FIVfADaCIbLf C2n%@CaYSx{{9Zb4JoXhsIs{F02+B1Q%wpRB~PME#t^ qymWp4q^#8BlFceYLPE^Rj46{XRiyb-8Pgb;85kMUfyOW~W&i;3Bp6fx diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class index a38964f0f0851e5271b8c6447a0970c13c32d240..2b9c1944a284f951fc8cee3d5d1f7da08fdbb1e8 100644 GIT binary patch delta 568 zcmaKpO-NL66vfYP#8IARWs_(a88uiG^BifS@}tO_NXEz-ijtt`bHK65SJO;s=**<0 zMMcB}2DOQzz=9Cz0~fhy6VWD!h*oWbpjDf|=Ye$obRNo%YZE0^oP5+qoXA)^A`Y}GHeYk?h<&`JeuEN3Tm>|zbOX{3V?dubtR zlzoQnBtwh|y12#xZgG$Ybn}QqJR#0BM|s9Eo^za8dU(kRUUQOpD)~S!pKUsWvZjq8RWq!5E~>%cAS0%cQMHj%oV@xenDk>RFs`dy z))W&a^`xGfy%${995;&76>en2+^msLLETkWqbgNMle(as{D#dN)u)0knP~}aR6t|W EUkTxYyZ`_I delta 412 zcmWNNU1-g59L7JN|G}C6e+|dN@v<|qSX*ZuA!1Bwak4ZN*&S+U7;RpXmz~{syO4{c z+_=$1jnZ01yVx$=NN$uQS8i7;S4ex|clCUqr|3me4CgL{>`9l?dNtmIAS!$Uh&wMcaV}}uYOwsNFI!traD!N?EDHG0GO`l7+ z=28aCaNFfPu$D)z;E5|4ay7%QVZ?R3wT?-1e72r1uIIZOm@d1KpEmHz&CJy`zGk&tuuO9K6$Nk|6Q&XO-jKy8vsAQ54oe^=EsYnJqLt-}>ORTkr`fxXRj)LcD zwU=XFpyb8SzK=osx#uMwdnL5K%FFQg#_NoS)TZjw*@&AVHR2Wn0b`^wEL?{FMFvy} diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class index b68553892896681e61814ee0c21c3a17aa013465..44a0368205ee838c55cd9909e8772c145d59a55d 100644 GIT binary patch delta 4122 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 GguelM3^efo delta 986 zcmY+DTWl0{7{z~Q+3jwJq0}a8fdnHJiKQm1F;SB$K7dWo1(c#ly)oS#VC#0b%+9vp zrE8717ftGTE1-!O11JfI*hIt{(MZG#k;Iq~FAy&e8hzl&_+b3c3>)-i<~!$nm-Bs- z`Fq~M&h``k9GL;G=CL#h(KGo`&)dC&NvoB`++uSp`QX!JS7SA|rCB4|hMZ9+SNBWh zT)tHEZEk0+nB^3UB6~$XQp-+db8gMxkX!J3y9X?mvCifWt`}CRwz5(v*Nbj3?7!aT zF7l#dQ>pB`o?Bey`dg~SuyH64*xVh;a|_jhO3nA`1;6Sw#d~e;3&qZ6?egmXa>B72 zZ5(b8$%-@VW+)f~p6e82YZfk>(`*VRQrX6qaElgqYuzc=G7O2?V_wO3?GCE3|KHyT#aG5@&TgQygkB!eyxKYRP z^%>(j!Gu2NDSgSLzT$bEKeeaovl%^RlIA$`YDeb0=}@P*EDNsi@Age_!mFH_JRNa diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class index 5b5aff1523b15920750d39c73eb64feab85253b6..df34d72c46065b3f0a72c46d0bd85ac21f84d0f4 100644 GIT binary patch delta 13 UcmaFL^pt6X2P32BWKTvJ03zT73jhEB delta 13 UcmaFL^pt6X2P31!WKTvJ03wS6`Tzg` diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class index 884422294cd85151bf944b3a62d5097e4d16f488..47b676e040faca3fa11c881a766466fd02e0bb83 100644 GIT binary patch delta 73 zcmV-P0Ji_i3CanuC<6h(lPLqIDZ~H?0L1_k0LB0v0LK6)0LTC_0LcJ50LlPG0LuVV f0L=hu0MGz#0MnEC19}P902%<;03ZO_lY9hD8}AkH delta 73 zcmV-P0Ji_i3CanuC<6holPLqIDYF0x0JH!T0JQ)e0JZ=p0Ji`!0Js1<0J#7~0J;EE f0K5Qd0KWik0K${`19}O@02%7?kID>e&vPX?QcAv)#=1j~o6feEl zb9NWTvA~d#S~E-^|I&Woo@if1?MO?ne~`lxgLB?IZ5_1^_r;kST!&$x zBiRu_82Nz`P7q5S`|?KkT@`5ADPS2D6M|uiCRRQ7|40ifs4|#gx}~RRaV>dc7g-aV z3^rXoW?>snQsH;(BN_6#YJ!sj`A3vXi%+me1USaY7E;3aM9%oa1mW^uA&QtJL@ijw e8t6r=6XMuFjl6+6w$PxcL^(!2l?-KFgZ}{4^g^Ei delta 200 zcmZ3$zLQPh)W2Q(7#J7~8PwPrm>3xpCKk$V)H7w|=3)?MkYs0&U}TU33W@MANHIt= zGH@g&C#Mz{s~9jcm}*QcP?*fh6vN8Hpv0g&xr?ce@%3a*X3YX;24)5(pqboSTNt>s znT>WZh;0ONnHczhBo|1EGl?E>?L4Nmd004OT@4 Pb5>;rM^?4TwJaV0)58rh delta 59 zcmX@gd6aX*Tt-H-$@3UPS$wFfwXP&Sc$Tsm&nGs>7hfs>`4Xq&0!G4y!(cA*%s{HLD?m gGpjK}2&)N043JJ>HDkyJ$`=FGm9bh(j$%s#0Plzo$p8QV delta 82 zcmX@Wdw_Std1gk7%@>$wFfzJM&Sc$T>A@h)>dBzQ>cyZ6q&0!G4yzA?A*(NgHLD+k gGiv}t2x}li43JJ>4Q9v($`=FGm9d6Sj$%s#058=Mn*aa+ 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 index 7bf3e4cb45fca3184739ef44744cae94563e5fb1..0869d61f60191c5181573d9d50364771b1aba57d 100644 GIT binary patch delta 89 zcmZqYYvN8%rG{qs`=_tZOYD7t3mC95Zc8><&X5ReXI^s?TQio4lGW1^^j-5W4^X delta 89 zcmZqYYvN8%rG{W8~zctZOY}8F*Ra7z9}38AMqV8RS@#7}Qyl p84Orc7z|lc8H|CnC2Jak8*4g45ReXI&16Ucs?TQ4p1hhZ1^`*f5{&== 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 index 41645e8e9b4e1d801a4a7c8b04ae405539c2d9e0..021d8852511211be7a5a9273199d9fe408d2cb7c 100644 GIT binary patch delta 97 zcmeC+YvK#n4FwiT&!Zj$Y7)~u~1>NJ4+oSW5DENtZOYp7t3mC2K5$8*3ax5ReXIO<+g?s?TOkn!JWB1^_kZ6rKP8 delta 98 zcmZqY>)_iU$->8(n4FwiT&!Yfz{p^vF|kl#vl~ktBV+F5qpWK!3mJG>ix>o0iy1^& yOBv)?%NW#I%NYz6Y5@xaHV33{6&Sc0Y&!EW8pfK5vNrG94L3wf{Qx-EjgVy9+ zMrCFl2HnXgnCci)C%ZFi<~cGj0U-ke=OzX*A(?FqavOmhCI&tr$pw;N&0^qS&1T>S z^2Hzu83Y&vfjpoV1{DTX2A~TV)POuD26YAvAkD&{$)L@k2V@BW#TbD!2rvUh^;wtz D-UuIO delta 263 zcmXAkO-jRH5Qd*g8e?OqX~A0mVzg14`V*sG!i7J9q(4;7S~E2IigjVcx|&xL>aK@$>c$WNZz*eHrl>XTqf+g#92K^O#@yJcpWbqR%_m!IY7VSap&?wl8=-6NlfIdd(MG|i)ALkldqESgVg z*ew$CEj`C)oy^=@mvUu1JGt1#(uQjL8L#w8{fX(?{0s3wp+!Y!1sj|jhMiji=Z;Zj m_5Tn7RdpJt%`&2wE9xv(SyL_PS1B91)s%_qU)f4GOV%$qODFvR 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 index 68ec874477a104c603608b2efd1e5a8cd9fbd1bd..ed5da320b81d4c0e1c7758595670e5b201986bce 100644 GIT binary patch delta 38 ucmbQkKAU~RR7OsY#N_1E;$juc&GQ+P7#VXXGco(J7BO(M7Ecag_5c9m7z&{P delta 43 ycmbQuK8Jn7R7Nh&#N_1E;$js;qs{XelNcGhCo?kpvQA*&W}OIRiBHaAHUt11#0$~@ 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 index 54fefac98b262a3827e4e01976921b22a2fc0bad..e0066d314d8f4ee9e6a7007d9c0cb684eb233f64 100644 GIT binary patch delta 113 zcmdnYyP0>xLMB!NMg~)jiG>QAk1?4rF_upL&GI&|ih+f-nt_eAhJll{mVt-0jzNO8 zoX04@cg05t`p06hhy07M0*07(U>0AB^E0AvNK0C)wg0DJ|l0FDK) T0GkD|0H+180ILPFlQ{-@zUCgU 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 index 81583d897832602c1dd2b2206e0ac058c11faed8..0c49dc9f9e8504d359afdaeff4bcf8f41b33d5af 100644 GIT binary patch delta 30 mcmdnPwuf!QJVr*t&GQ+V85yTfUd-gfI){Oab?)RZOdbH3TM3r{ delta 30 mcmdnPwuf!QJVr*7&GQ+V85y@uUd-gfx{HB}b@${iOdbH70}1p1 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 index a3952995909a35fb6a950d527278cff004bc95d8..04172f0e42bd36fbd9fde35a9fc4f69c180a7be9 100644 GIT binary patch delta 29 lcmZ3Mp~(-KJOH473X1>$ 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 index 61bf1f80899a6b076d1378d5aa4c4d9c2fa8f403..c27b42a9a33d58c2741b13c6da4f8d1d700f845a 100644 GIT binary patch delta 29 lcmZ3d6n8JOG`#3Pb<^ delta 29 lcmZ3#biOGxg1Oo@_$;l6yJOH6z3ZVc1 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 index 60869e5f88ff6d7e0dc228d5db3e11d6bcb75dea..e86838565e9052d6c344d5567a6e55d1d820c181 100644 GIT binary patch delta 29 lcmey*`k!^fY(_?d$#WP_GhUmV!Q{nyn}LJn&gAV(9ssY^3i|*6 delta 29 lcmey*`k!^fY(_@I$#WP_Gk%_&!Q{pIgMowP=j8279ssj53sV39 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 index 5a9d848280684db85646e054b201fb8f999cbef3..7b0d498bdb266b811092430bb2f744898940bab6 100644 GIT binary patch delta 31 ncmaFH^^9vn7YpOs$=xh9yqg%rShp~UvuG9YUc*wsyO)87bsvK+>wX3^)&r9bSv>%E C4i1?B delta 47 zcmeyt^^&ciOGxg7y}3E@yQRFJOH5k3Yh=^ delta 29 lcmZ3iOGxgH3J9ho5>HEJOHJD3k(1N 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 index 991629a166d46005051da7152c3afb93d3a72f4e..6b6b275563d9450e8a3fce2e7c154951824e3543 100644 GIT binary patch delta 29 lcmZ3?s>z&CDnLGfhehUl$ delta 30 mcmZ3#xZVnLGfkXA58e 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 index b5015e391a9f8926e63d69a6a90a8113c4b6c33d..b8edf6954565655466737e73272d269c504fd5e8 100644 GIT binary patch delta 30 mcmey*`k!^fY(_?d$#WP_Gv1q=!Q{!t@|b~x<;mpjOdbHZkP8<8 delta 30 mcmey*`k!^fY(_@I$#WP_Gya~O!Q{!t%D}+E$~bvDlLr8<90_p% 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 index 8690a7e735bea54b2f7a1cd026d43f34c5f90bb3..ba8882960bdf15736eadcffef2b701783ec8197b 100644 GIT binary patch delta 31 ncmey*`k!^fY(_?d$#WP_F|jg? delta 31 ncmey*`k!^fY(_@I$#WP_F|l$_&S3InV-;ZFU=^Iaoyh|LrPBze 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 index 2a4473bbd2371a4eb31db26211270c6c3ed6b257..6b6d81b67f846af82405424e770b0796d506e10d 100644 GIT binary patch delta 31 ncmZ3+wv27VY(_@I$#WP#GO>J{+|T66#`2qigXPcUdrTexvK9*| delta 31 ncmZ3+wv27VY(_?-$#WP#GO-Fz?q~93W0hdwV3nMFkI4f7m$V3k 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 index 50d01704914aeb45f2bd2b44f0805c7291d39c08..2e70f426a37e61467470a379bf4a10e47acfb306 100644 GIT binary patch delta 30 mcmdnVwv%ncY(_?-&2t!;85tQTFJSUvWn+&iuele~{{H>=1kl8e2};18uiar|pFB>$!JLU%0{hCp z^}U|YL$7l`P(k0qJQfHtfs_O@r|CKp-kFTJ>L?lb{Z<}jg4*TbdHcA1bigk7;3kfR zR6&=CSVe-fIv01o3=7++CpLW`Q^^zEEx(~uTzrQ+)Nv^$buVayQ9|Buk{{|cSFr}23+w5{ Y2C5pf*hCEtJr(se(KxD%X1y%^19~4uxc~qF delta 191 zcmWlTyAAguZZF{xbRv49S8HW^rCy>Cg$M9ZVs?r--}#Ek z+}wMr@cq3%z>JZL5yI;+cuZH4@u|^psSANtxn(rr1eEUW9p_dIg-M$iMf#)pAt5*{zO@X2^No_g^7J-_fOQ^KdCZ{p^F&>z_l}QNzeftQy diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class index 97bda5f9b93f71476036bd8adb3cfd67e85990e6..a50c91d36d23e4f8bcdf5d283cb3ced0b03615a4 100644 GIT binary patch literal 28819 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 K!A!kr$o~iGRpF%o literal 29338 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class index bdf920109b7646d383e08f2c5152adebc190d503..ad2f73d0735680a059384d0db58a17055cabb493 100644 GIT binary patch delta 64 zcmcbqd0%sb0H>IQhEH;Su6}W8o_RBBZ(A722pI1o3l9cxdF0< B6$JnQ delta 58 ycmcbwc~f(P0H?61hEG;vS)zVUVqUtwe^ORza>-;hP9xELMg}1anau^9`P=|8A`;&K diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class index e9947add8c39655915082685531096a292eef729..903c7b5bb799f1cd4c83a9febb4df32c653fc6f7 100644 GIT binary patch delta 77 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 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 index 55600beac8506e1ca251ef16a40e3e2d6b7701de..193cf9483f1cb1324c4de1c63cd5d333f490261c 100644 GIT binary patch delta 35 rcmZqWZROptfR*v`5O8{t%zNUlZduotAAS6w}Pk`EKXiIrDAb{dxTsz%-WPh%t;5-LhdhW)SR{;g%74 zo)Z|w?Sf|+Yo;FvKa=&`P&^OgXkkcgo6k(cG2No^AipiFkfFU&yyRKLl{=g)D_c<3 zN@>TLXGmk^FpL>eYH+22YB1UEj!3e zF$^`iVKpv9)V5%|cDTr}+H4@I=}ib5MrL$_p(X1TL;?(FIeO8TgoXi*ehe~bBcmHK zGQ`n}wm32j-St!DJ`t50PhuDYGVu~e9PJW~a&#y(#=#Yu;5ep`!O^MEG)GFI%N$(_ zUFA5T&^3;3g>G>4pq-&JXS?Elxs(_FLo@HtB&TzpWjY(CZ%e!CY?0bB=uL!Z{18du z#EtA!N=^cK8LfVtqWv_X z_jC$*j+gq_F3#wCIH$8+oY&uA_|YCN?BZesMJ$X zirylIIeO00NJ0C6R$2+|BaUmI(64<)M*9Lo`-(a38}4b}v8MgNW9=t4wO@Fu{l+}i h_7Df11`D`JyF~JKV)R=iD~4ORO?#3~&u|A>;4j~`bzlGh delta 562 zcmYL`OD_Xa7>3_7Uy4qTYN<lfw6gqaa(^Gd|cpmtg6 zl4wPn4nns?06hXUHooD8K%ayQ4UOm*2<+ufbIFrp;UJkU9Pa0LvW4TKju5)lhhd3E zG%1TnxNRGe&}|!&@YrTZNZVo(&9;RT5?)&;BwB2nlHZ>-2#w`ou1M;fTI@A-I*M`d|+8OlAB}`JILZo@rRb5>w~?0%>G` EKa7@E`2YX_ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class index 037311b3ba2d2c2ea953e8cf54d2fb1b18d55d64..537511c7c9ff8869991ee4ae812d675b2efc2b54 100644 GIT binary patch literal 13661 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 delta 4832 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class index 470c80c2d83b14122789e512e473d74e8a9a7c01..405eb2a289fdebc8f9bedd90bd7f1b3dc63b1743 100644 GIT binary patch delta 43 ycmZ3(vW8_t86)GO$>oeWl1mw+7?v@}GAw6MU|7MR45SSiRx%hfteO0W(EtDs_6zR- delta 43 ycmZ3(vW8_t86)Gw$>oeWl2aI@7^X7FGE8GoV3^LJ45SSiW-u5t%%1#*(EtDiybEUl diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class index 804802be5dc6cb989583869c8c696e9b7c67d629..2030e06e708bdc068e31db25bf56addff24ec5c0 100644 GIT binary patch delta 25 hcmbQtHkoaMEEA*OWI3h?#^A~2OxcX#lOHn~003FW2PXgk delta 25 hcmbQtHkoaMEEA*cWI3h?MyJW;OxcWXlOHn~0038&2J`>` diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class index b59c7fdc62ffa06abba8716de52957778e4bc19f..d3a656f6fe07976505543bc6f68981a56a28f90c 100644 GIT binary patch delta 79 zcmZqUXye#W&&0&UF}ab+j*W?zft87G@=>M-hC&QHOd<@TOri|(Okxb0OyUg2OcD&X jOp*-lOi~PiOfn4FO!5qsObQIOOiB#(OsbQwF&h8?5NQmZ delta 79 zcmZqUXye#W&&0&|V{#*t9UJ3c23E#@laDezFl1ujVPatrWnyKJXJTW}WMXG9X5wJ5 jW#VLTXX0WAWa44SX5we4WD;PgWfEejXA+%!joAPItQHQM diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class index 965c1aa4199de799077f1fb3c479ea8e187b9983..c7e946969bc5783aa7c01a4647d635da3a30769a 100644 GIT binary patch delta 31 ncmX@la-L+SsoIORI?niDb#!zRY-Z@Y?~ZT!2ONKbxK4`Vj59u&nX}j0+26W+-&!k<>m@lq z{_%JVKpj34pyR8o>|5^;%VjY4M#8a>I+IWs7T11ump1uFZfMT`Yt{f)U01SLP7&QL0_`ai%LWxEN~I ztWMsfvsO7#rakOuD5&s44aeK?&y& zNtbGqOwE8CI1^L>65cGg!8$#~YkVl^EdXyeGf(A5ZZ7Y&5 zK@SUEJTTMQP2Ic-2TAG1Db%BfpndSs7+Y}~Z8WoI2z4%t?V^~YbfX^8f@8!$^Ntfz zM_DQf{W9ft&`O`cNn+?m5!%r~yy{`XE9j)tm!wqf@Ds2t>vfUWO^KwPbS=~lBS~qt zWHn*hDa=5KEvuzTw)LdYcL%vvYm;nD;cVv@@W?3)89v88**21W%(se7GD)R9nx8s5 z5J|QrHO$@Z->jD6hY;mWj6ITzH!*(9m512I1DMH9DSzGeXON&_r~%g|X4AN2dn1L* zwyP<;ox=4r-hD#on;ZA>FWfB+xBL&>(j%gvgC$9(hei$z5%crJJA_<}kW^zNp@M2$ zz(I`T5G{5iSwHP@4<>0CQwSnKh-pk4cT+nDq4jD%MEF zAk|nWw2pL5MzQf!So}n?8Yv+7zX-ddYX-Lia&a0Tc2%cv_qh8jDnPX9Jd7MVC$3SG zi$wbd(Ox3jH;MLpMEe%eUMAWrM0=TNuVa8(9;9xy4V1Gh5d53k*&S*Fv?34i36&V6 PPa~-(b`L2+hfn_m1r|s? delta 1438 zcmb_bT~iZh6n@@hH@jIE2mvGzkN{~+R*Z#uo`RewQe+UwqF&n`hb)7vI9d(OM>b3UHuoSm(? zQ>{FH^7ATyHaz@6xz4N-%9n~7nvcXU$HV%Jo|3Scp?rdlE#p%y1L@RwGSRQcNA#3} z3b<5=sN!GPE4_mX%HTH6H4J6`@J7fwI20I^u!VnTX_sr^F;MmV4~v@)jVio&fveWN z!d3;j*ZYpC=^6=_`Ji?Vm~G+Z)f zsGet!N5M4SQt>w4;g98gCDX_lhpP-V{_a4SPsx>=LI&oVitD(+Lw0XT5-#y6{jSoe zW!&OPdr!mNjlsSVPmi^9jVB7dDp-U5#HIO^ko_U!yssrr8Zu%Sc6@=)GLcWjs0IBRi1l8z8J&vLS z#|YPtAO;9|90xFH_CIW5BeZxgQw;TpJ=kkrMfpYR-&-x&QP}hvNPcvbKUVk2LoRM)rHkF|qs* zcCwTD#;GxnBuPIV^{gP3!)51{EZ%g!o5g!syr0AD8li74Kfr%*a|UkyU%0tPM1ge9 zkm*M`J%@?sDO!NjH2O1e;Vc3;hbD}m9i!NR1Px}CbeJIgd7MBJG1^ES7wDA6MO*^M z6?}#n7bTWAs^lh&xnXMrI6)>%!tUl2xRD*#9DILDxK% zqMADg9%;(rz9MQf-wC9QT0@1!rv=@l>B5m3d khH%%UrkN`cdq(YKf!ZLg$bAyQLP(2A(n{K&Ff#A}c}xtv04R?K A@&Et; 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 index 59a4e3fb9f4c4c0f838db37b415ea978dd8a46ea..efa322a7692cb9e217d207ee40a683ad8e035539 100644 GIT binary patch literal 1324 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 F_Ae#?5F!8o diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class index 8f5efc349206b3563bfb71beb1e0225747f49103..30f6e121d1dd3e8835f7e6c5bf904bb6ea043233 100644 GIT binary patch literal 31874 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class index f86dafaf9d378b13911b7328325b3645dc2afea4..7a54ba1de95192f6f999a98998c07364fe8ef0fd 100644 GIT binary patch delta 443 zcmW;HOG_J36bJD0&!mnCGZ0NC6SZl5Ta7vypRIX73+|>HUm&ioX(-c9#xRXy_JV7< zv`ZH*6x>B2N((LoH@avkG>d+U_5)OUbaQ|A{12CN&#Cn}8@s*#dPPJwiYkRbX$dvm znAp>-q_b5L-kJzpvFVjp>ecef!v$1uK8PJ*ZP#4SdL0C!?zo?7d3m51@`v(da;f5$ z-iXr2vi~ku%z?rc;rdYmnS3Cn(JkFYsD*9~J$Nd=YrS|T|7d1gFZxyVNnKB62dD^A ztAXp+JU@ydjHnm}#UBTI!hdfq?v~2cn!Dv|c!AOLRsCNW*K)b@FBG{LzuG{Ym(qA@ zAKgGlg2EJmL3f-O+}WoPDeUMs!ukc0PG;-^<_Yz@JwsO<=}Ve!;`uliO$>%F=~sgv zwv$dV3`r+ZFve(vlMXVG!8nCt?U=x%JWSY%#r|ZoY@1;#Hm2kPJI(s+4ChDeEZbt| i*l5yL=Gh|qk`35b>@mB*{!ZGF9Dg^2JPI;le)$hEdSmVY delta 404 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 literal 12269 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 diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class index c9b4581dc5dcb7ebfc83412a617f340a9cbae768..ebc89802244f3cc471e4c31fee40a2074196b605 100644 GIT binary patch literal 3583 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 L(1=pzz-RvgF(1ff 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 { /** 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 tagletMap = new LinkedHashMap(); /** * 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 packageGroups = new LinkedList(); /** * 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 mentionedTags = new LinkedList(); 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 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 nameToOptionMap = new HashMap(); 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 getKnownDirectSubclasses(ClassDoc classDoc) { - List result = new LinkedList(); + List result = new LinkedList(); if (!"java.lang.Object".equals(classDoc.qualifiedName())) { ClassDoc[] classes = rootDoc.classes(); for (int i=0; i { 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> categorizedIndex; - protected Map getCategorizedIndex() + protected Map> getCategorizedIndex() { if (null == categorizedIndex) { - categorizedIndex = new LinkedHashMap(); + categorizedIndex = new LinkedHashMap>(); - Map indexMap = getIndexByName(); - LinkedList keys = new LinkedList(); //indexMap.keySet().size()); + Map indexMap = getIndexByName(); + LinkedList keys = new LinkedList(); //indexMap.keySet().size()); keys.addAll(indexMap.keySet()); Collections.sort(keys); - Iterator it = keys.iterator(); //indexMap.keySet().iterator(); + Iterator 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()); } - List letterList = (List)categorizedIndex.get(keyLetter); + List letterList = categorizedIndex.get(keyLetter); letterList.add(indexMap.get(key)); } } @@ -650,16 +539,16 @@ public abstract class AbstractDoclet } - private Map indexByName; + private Map indexByName; - protected Map getIndexByName() + protected Map getIndexByName() { if (null == indexByName) { // Create index // Collect index - indexByName = new HashMap(); //TreeMap(); + indexByName = new HashMap(); //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 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 tagsOfThisType = new LinkedList(); for (int i=0; i>>> usedClassToPackagesMap, ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage) { - Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass); + Map>> packageToUsageTypeMap = usedClassToPackagesMap.get(usedClass); if (null == packageToUsageTypeMap) { - packageToUsageTypeMap = new HashMap(); + packageToUsageTypeMap = new HashMap>>(); usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap); } - Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage); + Map> usageTypeToUsersMap = packageToUsageTypeMap.get(userPackage); if (null == usageTypeToUsersMap) { - usageTypeToUsersMap = new TreeMap(); + usageTypeToUsersMap = new TreeMap>(); packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap); } - Set userSet = (Set)usageTypeToUsersMap.get(usageType); + Set userSet = usageTypeToUsersMap.get(usageType); if (null == userSet) { - userSet = new TreeSet(); // FIXME: we need the collator from Main here + userSet = new TreeSet(); // 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>>> _usedClassToPackagesMap = + new HashMap>>>(); 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 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>>> usedClassToPackagesMap = null; - protected Map getUsageOfClass(ClassDoc classDoc) + protected Map>> 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 { 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 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 patterns = new HashSet(); /** * 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 filter(PackageDoc[] packageDocs) { - SortedSet result = new TreeSet(); + SortedSet result = new TreeSet(); for (int i=0; i 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 externalDocSets = new LinkedList(); /** * Contains String->ExternalDocSet. */ - private Map packageNameToDocSet = new HashMap(); + private Map packageNameToDocSet = new HashMap(); /** * 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 keywords = new LinkedHashSet(); 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 { ClassDoc classDoc; - SortedSet children = new TreeSet(); + SortedSet children = new TreeSet(); 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 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 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(""); + TreeNode rootNode = treeMap.get(""); if (null == rootNode) { rootNode = new TreeNode(null); treeMap.put("", 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 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 classTreeMap = new HashMap(); for (int i=0; i interfaceTreeMap = new HashMap(); for (int i=0; i"); + TreeNode interfaceRoot = interfaceTreeMap.get(""); if (null != interfaceRoot) { - Iterator it = interfaceRoot.children.iterator(); + Iterator 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 allPackages = getAllPackages(); + Iterator 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 packageDocs = getAllPackages(); + Iterator 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 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 classes = new TreeSet(); + Set interfaces = new TreeSet(); + Set exceptions = new TreeSet(); + Set errors = new TreeSet(); for (int i=0; i> categorizedIndex = getCategorizedIndex(); + Iterator 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 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 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> categorizedIndex = getCategorizedIndex(); + Iterator 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 it = getAllPackages().iterator(); while (it.hasNext()) { - PackageDoc packageDoc = (PackageDoc)it.next(); + PackageDoc packageDoc = it.next(); - List serializableClasses = new LinkedList(); + List serializableClasses = new LinkedList(); ClassDoc[] classes = packageDoc.allClasses(); for (int i=0; i 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 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(); ClassDoc[] classDocs = getRootDoc().classes(); for (int i=0; i 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 primitiveNames; static { - primitiveNames = new HashSet(); + primitiveNames = new HashSet(); 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 findClassCache = new HashMap(); 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 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 implementedInterfaces = new ArrayList(); String word=""; int item=0; @@ -511,7 +511,7 @@ public class ClassDocImpl ClassDoc[] interfaces=new ClassDoc[implementedInterfaces.size()]; for (int i=0; i isSerMethodList = new ArrayList(); if (null != maybeSerMethodList) { - for (Iterator it=maybeSerMethodList.iterator(); it.hasNext(); ) { + for (Iterator 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 typeMap = new HashMap(); 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 maybeSerMethodList; - void setMaybeSerMethodList(List maybeSerMethodList) { + void setMaybeSerMethodList(List maybeSerMethodList) { this.maybeSerMethodList=maybeSerMethodList; } @@ -1061,7 +1061,7 @@ public class ClassDocImpl private Object findFieldValue(String identifier, ClassDoc classDoc, String fieldName, - Set visitedFields) + Set 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 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 importStatementList; - public void setImportStatementList(List importStatementList) + public void setImportStatementList(List importStatementList) { - this.importStatementList = new LinkedList(); + this.importStatementList = new LinkedList(); 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 createFromSource(ClassDoc containingClass, + PackageDoc containingPackage, + char[] source, int startIndex, int endIndex) { - List rcList=new ArrayList(); + List rcList=new ArrayList(); 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 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. @@ -141,11 +141,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. */ @@ -161,31 +156,11 @@ 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 option_sourcepath = new ArrayList(); /** * Option "-locale:" Specify the locale charset of Java source files. @@ -197,11 +172,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 option_subpackages = new ArrayList(); /** * Option "-exclude": list of subpackages to exclude. */ - private List option_exclude = new ArrayList(); + private List option_exclude = new ArrayList(); /** * 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 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 options = new LinkedList(); // stores packages and classes defined on the command line - List packageAndClasses = new LinkedList(); + List packageAndClasses = new LinkedList(); - for (Iterator it = allOptions.iterator(); it.hasNext();) + for (Iterator 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 it = option_subpackages.iterator(); it.hasNext();) { - String subpackage = (String) it.next(); - Set foundPackages = new LinkedHashSet(); + String subpackage = it.next(); + Set foundPackages = new LinkedHashSet(); - for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) { - File sourceDir = (File)pit.next(); + for (Iterator 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 foundPackages = new LinkedHashSet(); + for (Iterator 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 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 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 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 packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath); + List 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 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 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 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 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 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 arguments = new ArrayList(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 options = new LinkedList(); //--- 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 customOptions = new LinkedList(); rootDoc = new RootDocImpl(); reporter = rootDoc.getReporter(); //--- Iterate over all options given on the command line - for (Iterator it = arguments.iterator(); it.hasNext();) + for (Iterator 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 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(); //--- 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 allClassesSet = new TreeSet(); + private List ordinaryClassesList = new ArrayList(); + private List exceptionsList = new ArrayList(); + private List interfacesList = new ArrayList(); + private List errorsList = new ArrayList(); 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 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 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 fields = FieldDocImpl.createFromSource(parser.ctx.classDoc, + parser.ctx.classDoc.containingPackage(), + source, startIndex, endIndex); - for (Iterator it=fields.iterator(); it.hasNext(); ) { + for (Iterator 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 processedFiles = new HashSet(); 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 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[] toArray(List 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 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(); } 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 importedClassesList = new LinkedList(); + List importedStringList = new LinkedList(); + List importedPackagesList = new LinkedList(); + List importedStatementList = new LinkedList(); 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 findSourceFiles(String relPath) { - List result = new LinkedList(); - for (Iterator it = sourcePath.iterator(); it.hasNext(); ) { - File path = (File)it.next(); + List result = new LinkedList(); + for (Iterator 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 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 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 errors = new ArrayList(); 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> 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 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>(); 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 param(Method m, int argIndex) { - List l = new ArrayList(); + List l = new ArrayList(); 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 rmeths = new ArrayList(); + 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 methrefs = new ArrayList(); 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> 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> removeSubclasses(Class[] classes) { - List list = new ArrayList(); + List> list = new ArrayList>(); 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> incoming = removeSubclasses(m.getExceptionTypes()); - List updated = new ArrayList(); + List> updated = new ArrayList>(); 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 backends = new ArrayList(); // 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, 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> implementedRemotes = new HashSet>(); /** * The extra classes that must be imported. */ - protected Collection extraImports = new HashSet(); + protected Collection extraImports = new HashSet(); /** * The methods we must implement. */ - protected Collection methods = new HashSet(); + protected Collection methods = + new HashSet(); /** * 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> 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> remotes) { StringBuilder b = new StringBuilder(); // Keep the Ids sorted, ensuring, that the same order will be preserved // between compilations. - TreeSet sortedIds = new TreeSet(); + TreeSet sortedIds = new TreeSet(); - Iterator iter = remotes.iterator(); + Iterator> iter = remotes.iterator(); while (iter.hasNext()) { - sortedIds.add(getId((Class) iter.next())); + sortedIds.add(getId(iter.next())); } - iter = sortedIds.iterator(); - while (iter.hasNext()) + Iterator 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 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 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 sortedMethods = + new ArrayList(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 imp = new TreeSet(); - Iterator it = extraImports.iterator(); + Iterator 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 free = new HashSet(); + private final HashMap names = new HashMap(); + private final HashSet wides = new HashSet(); + private final HashSet declared = new HashSet(); 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 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 @@