summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authordoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-19 17:03:15 +0000
committerdoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-19 17:03:15 +0000
commit6fec1adc6432eeafcdea2ab165989e170cb6e64e (patch)
tree9b478aacc6b13f1beadacec2ade096dcb732af53 /libjava
parentabae7d71da9352babb77917224e837ffdfa118be (diff)
downloadppe42-gcc-6fec1adc6432eeafcdea2ab165989e170cb6e64e.tar.gz
ppe42-gcc-6fec1adc6432eeafcdea2ab165989e170cb6e64e.zip
2012-12-19 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (20121202). * Regenerate class and header files. * Regenerate auto* files. * sources.am, gcj/javaprims.h: Regenerate. * gnu/java/nio/FileLockImpl.java (close): New override. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194618 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/classpath/ChangeLog974
-rw-r--r--libjava/classpath/ChangeLog.gcj5
-rw-r--r--libjava/classpath/INSTALL9
-rw-r--r--libjava/classpath/Makefile.in18
-rw-r--r--libjava/classpath/NEWS25
-rw-r--r--libjava/classpath/THANKYOU4
-rw-r--r--libjava/classpath/aclocal.m46
-rwxr-xr-xlibjava/classpath/config.sub42
-rwxr-xr-xlibjava/classpath/configure323
-rw-r--r--libjava/classpath/configure.ac14
-rwxr-xr-xlibjava/classpath/depcomp74
-rw-r--r--libjava/classpath/doc/Makefile.am6
-rw-r--r--libjava/classpath/doc/Makefile.in25
-rw-r--r--libjava/classpath/doc/api/Makefile.in8
-rw-r--r--libjava/classpath/doc/cp-tools.texinfo4
-rw-r--r--libjava/classpath/doc/texinfo.tex1874
-rw-r--r--libjava/classpath/examples/Makefile.in8
-rw-r--r--libjava/classpath/external/Makefile.in8
-rw-r--r--libjava/classpath/external/jsr166/Makefile.in8
-rw-r--r--libjava/classpath/external/relaxngDatatype/Makefile.in8
-rw-r--r--libjava/classpath/external/sax/Makefile.in8
-rw-r--r--libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java2
-rw-r--r--libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java2
-rw-r--r--libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java2
-rw-r--r--libjava/classpath/external/w3c_dom/Makefile.in8
-rw-r--r--libjava/classpath/gnu/java/nio/FileLockImpl.java5
-rw-r--r--libjava/classpath/gnu/java/text/AttributedFormatBuffer.java61
-rw-r--r--libjava/classpath/gnu/java/text/FormatBuffer.java17
-rw-r--r--libjava/classpath/gnu/java/text/FormatCharacterIterator.java223
-rw-r--r--libjava/classpath/gnu/java/text/StringFormatBuffer.java19
-rw-r--r--libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java21
-rw-r--r--libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java27
-rw-r--r--libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java4
-rw-r--r--libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java4
-rw-r--r--libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java6
-rw-r--r--libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java4
-rw-r--r--libjava/classpath/gnu/xml/transform/SAXSerializer.java3
-rw-r--r--libjava/classpath/include/Makefile.in8
-rwxr-xr-xlibjava/classpath/install-sh29
-rw-r--r--libjava/classpath/java/awt/geom/Area.java226
-rw-r--r--libjava/classpath/java/beans/XMLDecoder.java1
-rw-r--r--libjava/classpath/java/beans/XMLEncoder.java4
-rw-r--r--libjava/classpath/java/io/Closeable.java1
-rw-r--r--libjava/classpath/java/io/ObjectInput.java3
-rw-r--r--libjava/classpath/java/io/ObjectInputStream.java3
-rw-r--r--libjava/classpath/java/io/ObjectOutput.java3
-rw-r--r--libjava/classpath/java/lang/AssertionError.java14
-rw-r--r--libjava/classpath/java/lang/AutoCloseable.java50
-rw-r--r--libjava/classpath/java/lang/Boolean.java15
-rw-r--r--libjava/classpath/java/lang/Byte.java17
-rw-r--r--libjava/classpath/java/lang/Character.java17
-rw-r--r--libjava/classpath/java/lang/ClassNotFoundException.java6
-rw-r--r--libjava/classpath/java/lang/IllegalAccessException.java6
-rw-r--r--libjava/classpath/java/lang/InstantiationException.java6
-rw-r--r--libjava/classpath/java/lang/Integer.java17
-rw-r--r--libjava/classpath/java/lang/LinkageError.java17
-rw-r--r--libjava/classpath/java/lang/Long.java17
-rw-r--r--libjava/classpath/java/lang/NoSuchFieldException.java6
-rw-r--r--libjava/classpath/java/lang/NoSuchMethodException.java6
-rw-r--r--libjava/classpath/java/lang/ReflectiveOperationException.java88
-rw-r--r--libjava/classpath/java/lang/Short.java17
-rw-r--r--libjava/classpath/java/lang/String.java6
-rw-r--r--libjava/classpath/java/lang/System.java12
-rw-r--r--libjava/classpath/java/lang/reflect/InvocationTargetException.java6
-rw-r--r--libjava/classpath/java/lang/reflect/Member.java2
-rw-r--r--libjava/classpath/java/lang/reflect/Modifier.java42
-rw-r--r--libjava/classpath/java/nio/channels/FileLock.java1
-rw-r--r--libjava/classpath/java/sql/Connection.java1
-rw-r--r--libjava/classpath/java/sql/ResultSet.java1
-rw-r--r--libjava/classpath/java/sql/Statement.java1
-rw-r--r--libjava/classpath/java/text/AttributedString.java44
-rw-r--r--libjava/classpath/java/text/AttributedStringIterator.java43
-rw-r--r--libjava/classpath/java/text/Bidi.java26
-rw-r--r--libjava/classpath/java/text/BreakIterator.java4
-rw-r--r--libjava/classpath/java/text/ChoiceFormat.java8
-rw-r--r--libjava/classpath/java/text/CollationElementIterator.java73
-rw-r--r--libjava/classpath/java/text/DateFormatSymbols.java315
-rw-r--r--libjava/classpath/java/text/DecimalFormat.java6
-rw-r--r--libjava/classpath/java/text/MessageFormat.java3
-rw-r--r--libjava/classpath/java/text/NumberFormat.java3
-rw-r--r--libjava/classpath/java/util/Collections.java32
-rw-r--r--libjava/classpath/java/util/Formatter.java21
-rw-r--r--libjava/classpath/java/util/TimeZone.java52
-rw-r--r--libjava/classpath/java/util/regex/Matcher.java24
-rw-r--r--libjava/classpath/javax/activation/ActivationDataFlavor.java6
-rw-r--r--libjava/classpath/javax/activation/MimeTypeParameterList.java2
-rw-r--r--libjava/classpath/javax/management/DefaultLoaderRepository.java4
-rw-r--r--libjava/classpath/javax/management/MBeanConstructorInfo.java2
-rw-r--r--libjava/classpath/javax/management/remote/rmi/RMIConnection.java20
-rw-r--r--libjava/classpath/javax/security/sasl/Sasl.java10
-rw-r--r--libjava/classpath/javax/sound/midi/MetaMessage.java6
-rw-r--r--libjava/classpath/javax/sound/midi/MidiDevice.java1
-rw-r--r--libjava/classpath/javax/sound/midi/MidiSystem.java71
-rw-r--r--libjava/classpath/javax/sound/midi/Receiver.java1
-rw-r--r--libjava/classpath/javax/sound/midi/SoundbankResource.java4
-rw-r--r--libjava/classpath/javax/sound/midi/Track.java12
-rw-r--r--libjava/classpath/javax/sound/midi/Transmitter.java1
-rw-r--r--libjava/classpath/javax/sound/sampled/AudioSystem.java83
-rw-r--r--libjava/classpath/javax/sound/sampled/Line.java5
-rw-r--r--libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java38
-rw-r--r--libjava/classpath/javax/swing/tree/TreeNode.java2
-rw-r--r--libjava/classpath/javax/xml/namespace/NamespaceContext.java2
-rw-r--r--libjava/classpath/javax/xml/stream/XMLEventFactory.java10
-rw-r--r--libjava/classpath/javax/xml/stream/XMLEventReader.java2
-rw-r--r--libjava/classpath/javax/xml/stream/events/DTD.java4
-rw-r--r--libjava/classpath/javax/xml/stream/events/EndElement.java2
-rw-r--r--libjava/classpath/javax/xml/stream/events/StartElement.java4
-rw-r--r--libjava/classpath/javax/xml/xpath/XPathFunction.java2
-rw-r--r--libjava/classpath/lib/Makefile.in8
-rw-r--r--libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.classbin2251 -> 2251 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/locale/LocaleData.classbin7402 -> 7402 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/nio/FileLockImpl.classbin1125 -> 1233 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.classbin4282 -> 4924 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/text/FormatBuffer.classbin752 -> 896 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.classbin7254 -> 9268 bytes
-rw-r--r--libjava/classpath/lib/gnu/java/text/StringFormatBuffer.classbin2445 -> 2733 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.classbin748 -> 748 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.classbin897 -> 959 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.classbin3143 -> 3447 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.classbin3148 -> 3148 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.classbin1835 -> 1835 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.classbin2595 -> 2819 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.classbin6391 -> 6612 bytes
-rw-r--r--libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.classbin4522 -> 4588 bytes
-rw-r--r--libjava/classpath/lib/gnu/xml/transform/SAXSerializer.classbin6494 -> 6526 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.classbin630 -> 630 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$AreaIterator.classbin2499 -> 2685 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$CubicSegment.classbin8483 -> 8483 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$Intersection.classbin722 -> 722 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$LineSegment.classbin5372 -> 5372 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$QuadSegment.classbin6187 -> 6187 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area$Segment.classbin6182 -> 6350 bytes
-rw-r--r--libjava/classpath/lib/java/awt/geom/Area.classbin23671 -> 24352 bytes
-rw-r--r--libjava/classpath/lib/java/beans/XMLDecoder.classbin2926 -> 2957 bytes
-rw-r--r--libjava/classpath/lib/java/beans/XMLEncoder.classbin3443 -> 3474 bytes
-rw-r--r--libjava/classpath/lib/java/io/Closeable.classbin177 -> 208 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInput.classbin447 -> 478 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$1.classbin1152 -> 1152 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$2.classbin6167 -> 6167 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$GetField.classbin1025 -> 1025 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.classbin786 -> 786 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectInputStream.classbin30759 -> 30795 bytes
-rw-r--r--libjava/classpath/lib/java/io/ObjectOutput.classbin378 -> 409 bytes
-rw-r--r--libjava/classpath/lib/java/lang/AssertionError.classbin1646 -> 1841 bytes
-rw-r--r--libjava/classpath/lib/java/lang/AutoCloseable.classbin0 -> 187 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Boolean.classbin2395 -> 2509 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Byte.classbin3059 -> 3163 bytes
-rw-r--r--libjava/classpath/lib/java/lang/ClassNotFoundException.classbin894 -> 913 bytes
-rw-r--r--libjava/classpath/lib/java/lang/IllegalAccessException.classbin517 -> 536 bytes
-rw-r--r--libjava/classpath/lib/java/lang/InstantiationException.classbin517 -> 536 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Integer.classbin7295 -> 7387 bytes
-rw-r--r--libjava/classpath/lib/java/lang/LinkageError.classbin483 -> 663 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Long.classbin7040 -> 7140 bytes
-rw-r--r--libjava/classpath/lib/java/lang/NoSuchFieldException.classbin511 -> 530 bytes
-rw-r--r--libjava/classpath/lib/java/lang/NoSuchMethodException.classbin514 -> 533 bytes
-rw-r--r--libjava/classpath/lib/java/lang/ReflectiveOperationException.classbin0 -> 832 bytes
-rw-r--r--libjava/classpath/lib/java/lang/Short.classbin3265 -> 3369 bytes
-rw-r--r--libjava/classpath/lib/java/lang/reflect/InvocationTargetException.classbin985 -> 1004 bytes
-rw-r--r--libjava/classpath/lib/java/lang/reflect/Member.classbin341 -> 386 bytes
-rw-r--r--libjava/classpath/lib/java/nio/channels/FileLock.classbin1809 -> 1840 bytes
-rw-r--r--libjava/classpath/lib/java/sql/Connection.classbin2469 -> 2500 bytes
-rw-r--r--libjava/classpath/lib/java/sql/ResultSet.classbin7255 -> 7286 bytes
-rw-r--r--libjava/classpath/lib/java/sql/Statement.classbin2029 -> 2060 bytes
-rw-r--r--libjava/classpath/lib/java/text/AttributedString$AttributeRange.classbin689 -> 1023 bytes
-rw-r--r--libjava/classpath/lib/java/text/AttributedString.classbin5889 -> 6341 bytes
-rw-r--r--libjava/classpath/lib/java/text/AttributedStringIterator.classbin5288 -> 6136 bytes
-rw-r--r--libjava/classpath/lib/java/text/Bidi.classbin10825 -> 10884 bytes
-rw-r--r--libjava/classpath/lib/java/text/BreakIterator.classbin4752 -> 4818 bytes
-rw-r--r--libjava/classpath/lib/java/text/ChoiceFormat.classbin5857 -> 5992 bytes
-rw-r--r--libjava/classpath/lib/java/text/CollationElementIterator.classbin5555 -> 5720 bytes
-rw-r--r--libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.classbin0 -> 2183 bytes
-rw-r--r--libjava/classpath/lib/java/text/DateFormatSymbols.classbin11437 -> 13323 bytes
-rw-r--r--libjava/classpath/lib/java/text/DecimalFormat.classbin25204 -> 25276 bytes
-rw-r--r--libjava/classpath/lib/java/text/Format.classbin2009 -> 2121 bytes
-rw-r--r--libjava/classpath/lib/java/text/MessageFormat$Field.classbin1206 -> 1206 bytes
-rw-r--r--libjava/classpath/lib/java/text/MessageFormat.classbin12313 -> 12425 bytes
-rw-r--r--libjava/classpath/lib/java/text/NumberFormat$Field.classbin2128 -> 2128 bytes
-rw-r--r--libjava/classpath/lib/java/text/NumberFormat.classbin9372 -> 9372 bytes
-rw-r--r--libjava/classpath/lib/java/text/SimpleDateFormat.classbin18466 -> 18458 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.classbin2229 -> 2229 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$1.classbin1138 -> 1138 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$2.classbin1212 -> 1212 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$3.classbin1605 -> 1605 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$4.classbin1640 -> 1640 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$5.classbin1708 -> 1708 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$6.classbin1553 -> 1553 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$7.classbin1844 -> 1844 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$8.classbin889 -> 889 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$9.classbin930 -> 930 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedCollection.classbin3874 -> 3874 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedIterator.classbin1272 -> 1272 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedList.classbin3930 -> 3930 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedListIterator.classbin2091 -> 2091 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.classbin1810 -> 1810 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedMap.classbin5166 -> 5166 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.classbin985 -> 985 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedSet.classbin1318 -> 1318 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedSortedMap.classbin2368 -> 2368 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CheckedSortedSet.classbin2174 -> 2174 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$CopiesList.classbin2721 -> 2721 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$EmptyList.classbin2671 -> 2671 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$EmptyMap.classbin2184 -> 2184 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$EmptySet.classbin2422 -> 2422 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$LIFOQueue.classbin2279 -> 2279 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$MapSet.classbin2571 -> 2571 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$ReverseComparator.classbin1024 -> 1024 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SingletonList.classbin3063 -> 3064 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SingletonMap.classbin3012 -> 3012 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SingletonSet.classbin2438 -> 2438 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedCollection.classbin4000 -> 4000 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedIterator.classbin1366 -> 1366 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedList.classbin3903 -> 3903 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.classbin2061 -> 2061 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedMap.classbin4820 -> 4820 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.classbin1488 -> 1488 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedSet.classbin1583 -> 1583 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.classbin2637 -> 2637 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.classbin2603 -> 2603 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.classbin3127 -> 3127 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.classbin1182 -> 1182 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableList.classbin3204 -> 3204 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.classbin1776 -> 1776 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.classbin2223 -> 2223 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.classbin2441 -> 2441 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableMap.classbin3798 -> 3798 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.classbin910 -> 910 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableSet.classbin1226 -> 1226 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.classbin2131 -> 2131 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.classbin2058 -> 2058 bytes
-rw-r--r--libjava/classpath/lib/java/util/Collections.classbin21874 -> 21862 bytes
-rw-r--r--libjava/classpath/lib/java/util/Formatter.classbin17810 -> 17869 bytes
-rw-r--r--libjava/classpath/lib/java/util/TimeZone$1.classbin1026 -> 1182 bytes
-rw-r--r--libjava/classpath/lib/java/util/TimeZone.classbin31322 -> 32132 bytes
-rw-r--r--libjava/classpath/lib/java/util/regex/Matcher.classbin7507 -> 7772 bytes
-rw-r--r--libjava/classpath/lib/javax/security/sasl/Sasl.classbin6585 -> 6652 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/MetaMessage.classbin2002 -> 2012 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.classbin1283 -> 1283 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/MidiDevice.classbin621 -> 652 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/MidiSystem.classbin8292 -> 8977 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/Receiver.classbin248 -> 279 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/SoundbankResource.classbin1130 -> 1138 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/Track.classbin2021 -> 2152 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/midi/Transmitter.classbin251 -> 282 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/sampled/AudioSystem.classbin12598 -> 13183 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/sampled/Line$Info.classbin995 -> 1003 bytes
-rw-r--r--libjava/classpath/lib/javax/sound/sampled/Line.classbin769 -> 800 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.classbin1664 -> 1664 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.classbin2190 -> 2228 bytes
-rw-r--r--libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.classbin2076 -> 2160 bytes
-rw-r--r--libjava/classpath/m4/ac_prog_javac.m42
-rw-r--r--libjava/classpath/m4/acinclude.m42
-rw-r--r--libjava/classpath/m4/lib-ld.m4110
-rw-r--r--libjava/classpath/m4/lib-link.m4774
-rw-r--r--libjava/classpath/m4/lib-prefix.m4224
-rwxr-xr-xlibjava/classpath/missing53
-rw-r--r--libjava/classpath/native/Makefile.in8
-rw-r--r--libjava/classpath/native/fdlibm/Makefile.in8
-rw-r--r--libjava/classpath/native/jawt/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/classpath/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/gconf-peer/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/gstreamer-peer/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/gtk-peer/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c6
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c2
-rw-r--r--libjava/classpath/native/jni/java-io/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-io/java_io_VMConsole.c4
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-math/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-net/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-nio/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-util/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c9
-rw-r--r--libjava/classpath/native/jni/midi-alsa/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/midi-dssi/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c15
-rw-r--r--libjava/classpath/native/jni/native-lib/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/qt-peer/Makefile.in8
-rw-r--r--libjava/classpath/native/jni/xmlj/Makefile.in8
-rw-r--r--libjava/classpath/native/plugin/Makefile.in8
-rw-r--r--libjava/classpath/org/omg/CORBA/LocalObject.java2
-rw-r--r--libjava/classpath/org/omg/CORBA/portable/Delegate.java2
-rw-r--r--libjava/classpath/org/omg/CORBA/portable/InputStream.java2
-rw-r--r--libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java2
-rw-r--r--libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java4
-rw-r--r--libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynStructStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java2
-rw-r--r--libjava/classpath/org/omg/DynamicAny/_DynValueStub.java2
-rw-r--r--libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java2
-rw-r--r--libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java2
-rw-r--r--libjava/classpath/resource/Makefile.in8
-rw-r--r--libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties2
-rw-r--r--libjava/classpath/scripts/Makefile.in8
-rw-r--r--libjava/classpath/scripts/classpath.spec.in2
-rw-r--r--libjava/classpath/tools/Makefile.in8
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Doc.classbin741 -> 849 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.classbin2075 -> 2172 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.classbin3296 -> 3296 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.classbin4359 -> 0 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.classbin955 -> 0 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.classbin1129 -> 1373 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.classbin663 -> 663 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.classbin1848 -> 2065 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.classbin27182 -> 28956 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.classbin2907 -> 3230 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.classbin1205 -> 1205 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.classbin1207 -> 1207 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.classbin1088 -> 1435 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.classbin79930 -> 81614 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.classbin629 -> 629 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.classbin862 -> 862 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.classbin2610 -> 2610 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.classbin25782 -> 26937 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.classbin7577 -> 7652 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.classbin8685 -> 8760 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.classbin1517 -> 1517 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.classbin19116 -> 19208 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.classbin612 -> 612 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.classbin9289 -> 9315 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.classbin3110 -> 3267 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.classbin8266 -> 8628 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.classbin2992 -> 3194 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.classbin357 -> 357 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.classbin1226 -> 1226 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.classbin825 -> 928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.classbin1221 -> 1221 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.classbin1728 -> 1728 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.classbin1799 -> 1799 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.classbin1800 -> 1799 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.classbin1002 -> 929 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.classbin924 -> 923 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.classbin1715 -> 1715 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.classbin1382 -> 1382 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.classbin1401 -> 1400 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.classbin806 -> 806 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.classbin806 -> 926 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.classbin727 -> 727 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.classbin29338 -> 28819 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.classbin5337 -> 5343 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.classbin1142 -> 1142 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.classbin5798 -> 6230 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.classbin1669 -> 1669 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.classbin1209 -> 1510 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.classbin13190 -> 13661 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.classbin20655 -> 20857 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.classbin556 -> 556 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.classbin787 -> 787 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.classbin591 -> 591 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.classbin3343 -> 3589 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.classbin378 -> 482 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.classbin1204 -> 1324 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.classbin2719 -> 2976 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.classbin30526 -> 31874 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.classbin6058 -> 6165 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.classbin12269 -> 13494 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.classbin3290 -> 3583 bytes
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Doc.java4
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java205
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java12
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java122
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java52
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java11
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java25
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java12
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java13
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java122
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java12
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java26
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java148
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java10
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java126
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java8
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java58
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java27
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent2
-rw-r--r--libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent2
-rw-r--r--libjava/gcj/javaprims.h2
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.h1
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java5
-rw-r--r--libjava/gnu/java/text/AttributedFormatBuffer.h8
-rw-r--r--libjava/gnu/java/text/FormatBuffer.h2
-rw-r--r--libjava/gnu/java/text/FormatCharacterIterator.h8
-rw-r--r--libjava/gnu/java/text/StringFormatBuffer.h2
-rw-r--r--libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h5
-rw-r--r--libjava/java/awt/geom/Area.h2
-rw-r--r--libjava/java/lang/AssertionError.h1
-rw-r--r--libjava/java/lang/AutoCloseable.h19
-rw-r--r--libjava/java/lang/Boolean.h1
-rw-r--r--libjava/java/lang/Byte.h1
-rw-r--r--libjava/java/lang/ClassNotFoundException.h6
-rw-r--r--libjava/java/lang/IllegalAccessException.h4
-rw-r--r--libjava/java/lang/InstantiationException.h4
-rw-r--r--libjava/java/lang/Integer.h1
-rw-r--r--libjava/java/lang/LinkageError.h1
-rw-r--r--libjava/java/lang/Long.h1
-rw-r--r--libjava/java/lang/NoSuchFieldException.h4
-rw-r--r--libjava/java/lang/NoSuchMethodException.h4
-rw-r--r--libjava/java/lang/ReflectiveOperationException.h25
-rw-r--r--libjava/java/lang/Short.h1
-rw-r--r--libjava/java/lang/reflect/InvocationTargetException.h6
-rw-r--r--libjava/java/nio/channels/FileLock.h1
-rw-r--r--libjava/java/text/CollationElementIterator.h4
-rw-r--r--libjava/java/text/DateFormatSymbols$DFSData.h53
-rw-r--r--libjava/java/text/DateFormatSymbols.h13
-rw-r--r--libjava/java/util/TimeZone$1.h1
-rw-r--r--libjava/java/util/regex/Matcher.h1
-rw-r--r--libjava/javax/security/sasl/Sasl.h1
-rw-r--r--libjava/sources.am2
454 files changed, 5225 insertions, 2926 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index fa62d1ec50f..ff22755dbe1 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2012-12-19 Matthias Klose <doko@ubuntu.com>
+
+ Import GNU Classpath (20121202).
+
+ * Regenerate class and header files.
+ * Regenerate auto* files.
+ * sources.am, gcj/javaprims.h: Regenerate.
+ * gnu/java/nio/FileLockImpl.java (close): New override.
+
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog
index 8e867541555..37d11a3c942 100644
--- a/libjava/classpath/ChangeLog
+++ b/libjava/classpath/ChangeLog
@@ -4,21 +4,981 @@
* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
scan inner classes if our item is a file.
-2012-09-14 David Edelsohn <dje.gcc@gmail.com>
+2012-11-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
- * configure: Regenerated.
+ PR classpath/55182
+ * configure.ac:
+ Lower required version to support autoconf
+ on RHEL6. Make disabling Werror the default.
+ If a Qt4-specific moc is detected, use it
+ rather than the default.
+ * doc/Makefile.am:
+ Generate texi2dvi output in the build directory
+ and explicitly specify POSIX locale to work around
+ Debian bug 586134.
+ (clean-local): Remove output from texi2dvi.
+
+2012-10-30 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ PR classpath/55140
+ * NEWS: List fix.
+ * java/lang/String.java:
+ (codePointBefore(int)): Fix index check to match spec.
+
+2012-10-16 Ivan Maidanski <ivmai@mail.ru>
+
+ * java/util/Collections.java:
+ (emptySet()): Don't create new instance, instead using
+ the corresponding immutable container instance. Remove FIXME
+ and suppress resulting unchecked warning.
+ (EmptySet.iterator()): Suppress warning due to cast
+ for immutable container instance.
+ (EmptySet.equals(Object)): Add type parameters.
+ (emptyList()): Don't create new instance, instead using
+ the corresponding immutable container instance. Remove FIXME
+ and suppress resulting unchecked warning.
+ (EmptyList.equals(Object)): Add type parameters.
+ (emptyMap()): Don't create new instance, instead using
+ the corresponding immutable container instance. Remove FIXME
+ and suppress resulting unchecked warning.
+ (EmptyMap.entrySet()): Cast to parameterised type and
+ suppress warning.
+ (EmptyMap.equals(Object)): Add type parameters.
+ (EmptyMap.keySet()): Cast to parameterised type and
+ suppress warning.
+ (EmptyMap.values()): Likewise.
+ (SingletonList.subList(int, int)): Use emptyList() instead of
+ EMPTY_LIST to eliminate unchecked warning.
+ (SynchronizedCollection.toArray(T[])): Rename T type to E to
+ suppress compiler warning about type hiding.
+
+2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ PR classpath/41689
+ * javax/security/sasl/Sasl.java:
+ (CREDENTIALS): Add missing field.
+ * NEWS: Updated.
+
+2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * NEWS: Updated with latest bug fixes.
+ * THANKYOU: Add bug authors.
+
+2010-05-20 Paul Viney <paul@diasoft.nl>
+
+ PR classpath/44208
+ * java/io/ObjectInputStream.java,
+ (parseContent(byte,boolean)): Ensure a handle
+ for the enum is registered before one for its
+ String constant.
+
+2009-12-30 Paul Fernhout <pdfernhout@kurtz-fernhout.com>
+
+ PR classpath/42551
+ * javax/sound/midi/MetaMessage.java:
+ (setMessage(int,byte[],int)): Don't overwrite
+ length variable when computing the length representation.
+
+2012-10-17 Jeremy Singer <Jeremy.Singer@glasgow.ac.uk>
+
+ PR classpath/54960
+ * gnu/xml/transform/SAXSerializer.java:
+ (getValue(String)): Avoid NullPointerException.
+
+2012-10-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c:
+ (Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1(JNIEnv*,
+ jclass, jlong)): Use jack_client_open instead of
+ deprecated jack_client_new.
+
+2012-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * configure.ac: Set to 0.99.1pre, as
+ 0.99.1 will now be next release.
+ * NEWS: Updated with last bug fix
+ and 0.99.1
+
+2012-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ PR classpath/54931
+ * m4/acinclude.m4:
+ (CLASSPATH_WITH_GJDOC): Allow GJDoc versions
+ included with GNU Classpath to be used to
+ build (0.98 on).
+
+2012-03-15 Pekka Enberg <penberg@kernel.org>
+
+ * java/util/Formatter.java:
+ (icharacterFormat(Object,int,int,int,char):
+ Fix NullPointerException for null characters.
+ (basicIntegralConversion(Object, int, int, int, int, char):
+ Fix NullPointerException for null integers.
+ (format(Locale, String, Object...)):
+ Fix NullPointerException for null object.
+
+2012-03-15 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/String.java:
+ (codePointAt(int))): Fix exception type.
+ (codePointBefore(int)): Fix exception type.
+
+2011-07-20 Ivan Maidanski <ivmai@mail.ru>
+
+ * native/jni/java-util/java_util_VMTimeZone.c:
+ Include jcl.h file.
+ (Java_java_util_VMTimeZone_getSystemTimeZoneId(JNIEnv*,jclass)):
+ Throw OutOfMemoryException in case of malloc() failure.
+
+2012-06-10 Ivan Maidanski <ivmai@mail.ru>
+
+ * compat/.gitignore,
+ * compat/java.net/.gitignore,
+ * doc/.gitignore,
+ * doc/api/.gitignore,
+ * doc/www.gnu.org/.gitignore,
+ * doc/www.gnu.org/announce/.gitignore,
+ * doc/www.gnu.org/cp-tools/.gitignore,
+ * doc/www.gnu.org/docs/.gitignore,
+ * doc/www.gnu.org/downloads/.gitignore,
+ * doc/www.gnu.org/events/.gitignore,
+ * doc/www.gnu.org/faq/.gitignore,
+ * examples/.gitignore,
+ * external/.gitignore,
+ * external/jsr166/.gitignore,
+ * external/relaxngDatatype/.gitignore,
+ * external/sax/.gitignore,
+ * external/w3c_dom/.gitignore,
+ * gnu/classpath/.gitignore,
+ * gnu/java/locale/.gitignore,
+ * gnu/java/security/.gitignore,
+ * gnu/test/.gitignore,
+ * include/.gitignore,
+ * java/util/.gitignore,
+ * lib/.gitignore,
+ * native/.gitignore,
+ * native/fdlibm/.gitignore,
+ * native/jawt/.gitignore,
+ * native/jni/.gitignore,
+ * native/jni/classpath/.gitignore,
+ * native/jni/gconf-peer/.gitignore,
+ * native/jni/gstreamer-peer/.gitignore,
+ * native/jni/gtk-peer/.gitignore,
+ * native/jni/java-io/.gitignore,
+ * native/jni/java-lang/.gitignore,
+ * native/jni/java-math/.gitignore,
+ * native/jni/java-net/.gitignore,
+ * native/jni/java-nio/.gitignore,
+ * native/jni/java-util/.gitignore,
+ * native/jni/midi-alsa/.gitignore,
+ * native/jni/midi-dssi/.gitignore,
+ * native/jni/native-lib/.gitignore,
+ * native/jni/qt-peer/.gitignore,
+ * native/jni/xmlj/.gitignore,
+ * native/plugin/.gitignore,
+ * native/testsuite/.gitignore,
+ * native/vmi/.gitignore,
+ * resource/.gitignore,
+ * resource/META-INF/services/.gitignore,
+ * scripts/.gitignore,
+ * test/.gitignore,
+ * test/gnu.java.lang.reflect/.gitignore,
+ * test/java.io/.gitignore,
+ * test/java.lang.reflect/.gitignore,
+ * test/java.net/.gitignore,
+ * test/java.util/.gitignore,
+ * tools/.gitignore,
+ * tools/gnu/classpath/tools/doclets/.gitignore,
+ * tools/gnu/classpath/tools/doclets/debugdoclet/.gitignore,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/.gitignore,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/.gitignore,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/.gitignore,
+ * tools/gnu/classpath/tools/gjdoc/.gitignore,
+ * tools/gnu/classpath/tools/gjdoc/expr/.gitignore,
+ * tools/gnu/classpath/tools/java2xhtml/.gitignore,
+ * tools/gnu/classpath/tools/taglets/.gitignore,
+ * vm/.gitignore,
+ * vm/reference/.gitignore: Renamed from .cvsignore.
+
+2012-10-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * java/awt/geom/Area.java:
+ (solids): Add type parameter.
+ (holes): Likewise.
+ (ccIntersections): Likewise and rename to meet
+ standards.
+ (Area()): Add type parameters.
+ (Area(Shape)): Likewise and remove redundant casts.
+ (add(Area)): Likewise and remove unused nNodes variable.
+ (subtract(Area)): Likewise.
+ (intersect(Area)): Likewise.
+ (exclusiveOr(Area)): Likewise.
+ (reset()): Add type parameters.
+ (isEmpty()): Remove redundant casts.
+ (isPolygonal()): Likewise.
+ (isRectangular()): Likewise.
+ (getBounds2D()): Likewise.
+ (clone()): Likewise.
+ (equals(Area)): Add type parameters.
+ (transform(AffineTransform)): Remove redundant casts.
+ (contains(double,double)): Likewise.
+ (contains(double,double,double,double)): Likewise.
+ (intersects(double,double,double,double)): Likewise.
+ (AreaIterator.segments): Add type parameter.
+ (AreaIterator(AffineTransform)): Add type parameters.
+ Remove redundant casts.
+ (currentSegment(double[])): Remove redundant casts.
+ (currentSegment(float[])): Likewise.
+ (weilerAtherton(Vector)): Add type parameters and remove
+ redundant casts.
+ (recursiveSubdivide(CubicCurve2D,CubicCurve2D,int,int,double,
+ double,double,double)): Fix use of cc_intersections/ccIntersections.
+ (cubicCubicIntersect(CubicSegment,CubicSegment)): Likewise.
+ (lineQuadIntersect(LineSegment,QuadSegment)): Fix Javadoc typo.
+ (makeSegment(Shape)): Add type parameters.
+ (createNodes(Segment,Segment)): Remove redundant bracketing.
+ (deleteRedundantPaths(Vector)): Likewise. Remove redundant
+ casts. Add type parameters.
+ (setDirection(Vector,boolean)): Add type parameters and remove
+ redundant casts.
+ (cloneSegmentList()): Add type parameter. Remove redundant
+ cast.
+ (createNodes(Segment,Intersection[])): Add type parameter.
+ Remove redundant cast.
+
+2012-10-09 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java:
+ (DSSIInfo.copyright): Added field.
+ (DSSIInfo(String,String,String,String,String,String,long)):
+ Extended constructor to store copyright.
+ (examineLibrary(String)): Add type parameter.
+ Fix call to new DSSIInfo constructor.
+ (static): Add type parameters.
+ * gnu/javax/sound/midi/dssi/DSSISynthesizer.java:
+ (instruments): Add type parameter.
+ (resources): Likewise.
+ (getResources()): Remove redundant cast.
+ (getInstruments()): Likewise.
+ (getInstrument(Patch)): Add type parameter and remove
+ redundant cast.
+ (soundbanks): Add type parameter.
+ (getAvailableInstruments()): Add type parameters and
+ remove redundant casts.
+ * gnu/javax/sound/midi/file/MidiFileReader.java:
+ (getSequence(InputStream)): Don't store length as not used.
+ * gnu/javax/sound/midi/file/MidiFileWriter.java:
+ (computeTrackLength(Track,MidiDataOutputStream)): Drop unused
+ count variable.
+ * gnu/javax/sound/sampled/WAV/WAVReader.java:
+ (getAudioFileFormat(InputStream)): Drop unused blockAlign variable.
+ * gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java:
+ (getLine(Line.Info)): Add type parameter to Class.
+ * javax/sound/midi/MidiSystem.java:
+ (getMidiDeviceInfo()): Add type parameters. Remove unnecessary cast.
+ (getMidiDevice(MidiDevice.Info)): Add type parameter.
+ (getSoundbank(InputStream)): Add type parameters and remove
+ unnecessary casts.
+ (getSoundbank(URL)): Likewise.
+ (getSoundbank(File)): Likewise.
+ (getMidiFileFormat(InputStream)): Likewise.
+ (getMidiFileFormat(URL)): Likewise.
+ (getMidiFileFormat(File)): Likewise.
+ (getSequence(InputStream)): Likewise.
+ (getSequence(URL)): Likewise.
+ (getSequence(File)): Likewise.
+ (getMidiFileTypes()): Likewise.
+ (isFileTypeSupported(int)): Likewise.
+ (getMidiFileTypes(Sequence)): Likewise.
+ (isFileTypeSupported(int,Sequence)): Likewise.
+ (write(Sequence,int,OutputStream)): Likewise.
+ (write(Sequence,int,File)): Likewise.
+ * javax/sound/midi/SoundbankResource.java:
+ (dataClass): Add type parameter.
+ * javax/sound/midi/Track.java:
+ (events): Add type parameter.
+ (eventSet): Likewise.
+ (add(MidiEvent)): Remove redundant cast.
+ (get(int)): Likewise.
+ (ticks()): Likewise.
+ * javax/sound/sampled/AudioSystem.java:
+ (getAudioFileFormat(File)): Add type parameters and
+ remove unnecessary casts.
+ (getAudioFileFormat(InputStream)): Likewise.
+ (getAudioFileFormat(URL)): Likewise.
+ (getAudioFileTypes()): Likewise.
+ (getAudioFileTypes(AudioInputStream)): Likewise.
+ (getAudioInputStream(AudioFormat.Encoding,AudioInputStream)):
+ Likewise.
+ (getAudioInputStream(AudioFormat,AudioInputStream)): Likewise.
+ (getAudioInputStream(File)): Likewise.
+ (getAudioInputStream(InputStream)): Likewise.
+ (getAudioInputStream(URL)): Likewise.
+ (getMixer(Mixer.Info)): Likewise.
+ (getMixerInfo()): Likewise.
+ (getTargetEncodings(AudioFormat.Encoding)): Likewise.
+ (getTargetEncodings(AudioFormat)): Likewise.
+ (getTargetFormats(AudioFormat.Encoding,AudioFormat)): Likewise.
+ (isConversionSupported(AudioFormat.Encoding,AudioFormat)): Likewise.
+ (isConversionSupported(AudioFormat,AudioFormat)): Likewise.
+ (write(AudioInputStream,AudioFileFormat.Type,File)): Likewise.
+ (write(AudioInputStream,AudioFileFormat.Type,OutputStream)): Likewise.
+ * javax/sound/sampled/Line.java:
+ (klass): Add type parameter.
+ * m4/ac_prog_javac.m4:
+ (ECJ_OPTS): Turn of unused private field warnings for now,
+ as some may be used from native code.
+
+2012-09-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ PR classpath/42134
+ * java/text/Bidi.java:
+ (Bidi(AttributedCharacterIterator)): Remove shadow
+ variable text which hides the instance variable
+ of the same name. Remove unnecessary use of this.
+ * NEWS: Updated.
+
+2012-09-24 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * tools/com/sun/javadoc/Doc.java:
+ Add type parameter to Comparable.
+ * tools/gnu/classpath/tools/doclets/AbstractDoclet.java:
+ (tagletMap): Use type parameters.
+ (packageGroups): Likewise.
+ (tagletPath): Removed, unused.
+ (mentionedTags): Use type parameters.
+ (optionNoEmailWarn): Removed, unused.
+ (optionTagletPath): Likewise.
+ (DocletOptionTaglet): Likewise.
+ (DocletOptionGroup.set(String[])): Add type aprameters to
+ groupPackages.
+ (DocletOptionTagletPath): Removed, unused.
+ (commonOptions): Remove optionTagletPath.
+ (nameToOptionMap): Add type parameters.
+ (getOptionLength(String)): Remove unnecessary cast.
+ (getKnownDirectSubclasses(ClassDoc)): Add type parameters.
+ (IndexKey): Add type parameter to Comparable.
+ (IndexKey.compareTo(IndexKey)): Update to use specific type.
+ (categorizedIndex): Use type parameters.
+ (getCategorizedIndex()): Likewise.
+ (indexByName): Likewise.
+ (getIndexByName()): Likewise.
+ (printTaglets(Tag[],TagletContext,TagletPrinter,boolean)): Likewise.
+ (addUsedBy(Map,ClassDoc,UsageType,Doc,PackageDoc)): Likewise.
+ (collectUsage()): Likewise.
+ (usedClassToPackagesMap): Likewise.
+ (getUsageOfClass(ClassDoc)): Likewise.
+ (UsageType): Add type parameter to Comparable.
+ (UsageType.compareTo(UsageType)): Update to use specific type.
+ (getPackageGroups()): Use type parameters.
+ * tools/gnu/classpath/tools/doclets/PackageMatcher.java:
+ (patterns): Use type parameters.
+ (filter(Packagedoc[])): Likewise.
+ (match(PackageDoc)): Likewise.
+ * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java:
+ (externalDocSets): Use type parameters.
+ (packageNameToDocSet)): Likewise.
+ (printPackagePage(File,String,PackageDoc,PackageDoc,PackageDoc)): Likewise.
+ (TreeNode): Add type parameter to Comparable.
+ (TreeNode.children): Use type parameters.
+ (TreeNode.compareTo(TreeNode)): Update to use specific type.
+ (addClassTreeNode(Map,ClassDoc)): Use type parameters.
+ (addInterfacetreeNode(Map,ClassDoc)): Likewise.
+ (printClassTree(HtmlPage,ClassDoc[])): Likewise.
+ (printInterfaceTree(HtmlPage,ClassDoc[])): Likewise.
+ (printFullTreePage()): Likewise.
+ (printIndexEntry(HtmlPage,Doc)): Likewise.
+ (printPackagesMenuPage()): Likewise.
+ (printClassMenuSection(HtmlPage,Collection,String)): Likewise.
+ (printClassMenuList(HtmlPage,ClassDoc[],boolean)): Likewise.
+ (printSplitIndex()): Likewise.
+ (printIndexPage(int,int,Character,List)): Likewise.
+ (printSerializationPage()): Likewise.
+ (printDeprecationPage()): Likewise.
+ (getMemberDocURL(HtmlPage,ProgramElementDoc)): Likewise.
+ (createTypeHref(HtmlPage,Type,boolean)): Likewise.
+ (getPackageURL(PackageDoc)): Remove redundant cast.
+ (getClassURL(ClassDoc)): Likewise.
+ * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java:
+ (primitiveNames): Add type parameters.
+ (findClassCache): Likewise.
+ (findClass(String,String): Likewise.
+ (createInstance(ClassDoc,PackageDoc,ClassDoc[],PackageDoc[],
+ char[],int,int,List)): Likewise.
+ (resolve()): Likewise.
+ (typeMap): Likewise.
+ (typeForString(String)): Likewise..
+ (equals(Object)): Likewise.
+ (maybeSerMethodList): Likewise.
+ (setMaybeSerMethodList(List)): Likewise.
+ (findFieldValue(String,ClassDoc,String,Set)): Likewise.
+ (getValue(String,Set)): Likewise.
+ (compareTo(Doc)): Use specific type.
+ (importStatementList): Use type parameters.
+ (setImportStatementList(List)): Likewise.
+ * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java:
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java:
+ Expand imports.
+ (findClass(String)): Don't use full class name for String.
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/DocImpl.java:
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java:
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java:
+ (createFromSource(ClassDoc,PackageDoc,char[],int,int)):
+ Use type parameters. Remove unused lastFieldDefStart
+ variable.
+ (constantValue(Set)): Use type parameters.
+ * tools/gnu/classpath/tools/gjdoc/Main.java:
+ (option_overview): Removed unused field.
+ (option_classpath): Likewise.
+ (option_sourcepath): Add type parameters.
+ (option_extdirs): Removed unused field.
+ (option_verbose): Likewise.
+ (option_java_flags): Likewise.
+ (option_subpackages): Add type parameters.
+ (option_exclude): Likewise.
+ (startDoclet(List)): Likewise.
+ (addFoundPackages(String,Set)): Likewise.
+ (findPackages(String,File,Set)): Likewise.
+ (start(String[])): Likewise.
+ (addJavaLangClasses()): Commented out, apparently unused.
+ (options): Add type parameters.
+ (initOptions()): Likewise. Remove redundant variable
+ setting.
+ * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java:
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java:
+ (allClassesSet): Use type parameters.
+ (ordinaryClassesList): Likewise.
+ (exceptionsList): Likewise.
+ (interfacesList): Likewise.
+ (errorsList): Likewise.
+ (resolve()): Likewise.
+ (toClassDocArray(Collection)): Likewise.
+ (compareTo(Doc)): Use specific type.
+ * tools/gnu/classpath/tools/gjdoc/Parser.java:
+ Expand import statements.
+ (process(Parser,char[],int,int)): Add type parameters.
+ (processedFiles): Add type parameters.
+ (processSourceFile(File,boolean,String,String)): Add type
+ parameters.
+ (classOpened(char[],int,int)): Likewise.
+ (toArray(List,T[])): Likewise.
+ (classClosed()): Likewise.
+ (Context.fieldList): Likewise.
+ (Context.filteredFieldList): Likewise.
+ (Context.sfieldList): Likewise.
+ (Context.methodList): Likewise.
+ (Context.filteredMethodList): Likewise.
+ (Context.maybeSerMethodList): Likewise.
+ (Context.constructorList): Likewise.
+ (Context.filteredConstructorList): Likewise.
+ (Context.innerClassesList): Likewise.
+ (Context.filteredInnerClassesList): Likewise.
+ * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java:
+ (findSourceFiles(String)): Add type parameters.
+ * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java:
+ (evaluate(String,Set,EvaluatorEnvironment)): Add type parameters.
+ * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java:
+ (getValue(String,Set)): Add type parameters.
+ * tools/gnu/classpath/tools/gjdoc/expr/Type.java:
+ (clazz): Add type parameters.
+ (Type(Class)): Likewise.
+ * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java:
+ (keep): Remove unused field.
+ (errors): Add type parameter.
+ (compile): Remove unused field.
+ (classpath): Likewise.
+ (clazz): Add type parameter.
+ (mRemoteInterfaces): Likewise.
+ (run(String[])): Add type parameters.
+ (processClass(String)): Likewise.
+ (getException()): Remove unnecessary cast.
+ (typeArray(Class[])): Add type parameter.
+ (param(Method,int)): Add type parameter. Use Integer.valueOf.
+ (generateClassConstant(MethodVisitor,Class)): Add type parameters.
+ (generateClassArray(MethodVisitor,Class)): Likewise.
+ (generateStub()): Remove unused variables stubclassname, size
+ & endReturnTryCatch. Remove unnecessary casts and add type
+ parameters.
+ (generateSkel()): Remove unused variable skelclassname.
+ Use Long.valueOf.
+ (generateMethodSkel(MethodVisitor,Method,Variables)):
+ Add type parameters.
+ (typeArg(Class)): Add type parameter.
+ (readMethod(Class)): Likewise.
+ (writeMethod(Class)): Likewise.
+ (returnOpcode(Class)): Likewise.
+ (loadOpcode(Class)): Likewise.
+ (storeOpcode(Class)): Likewise.
+ (unboxMethod(Class)): Likewise.
+ (box(Class)): Likewise.
+ (size(Class)): Likewise.
+ (sortExceptions(Class[])): Add type parameters.
+ (setup(boolean,boolean,boolean,boolean,boolean,boolean,
+ boolean,boolean,boolean,boolean,String,String,String,String)):
+ Remove unused variables keep & classpath.
+ (findRemoteMethods()): Add type parameters.
+ (MethodRef.exceptions): Add type parameter.
+ (MethodRef.removeSubclasses(Class[])): Add type parameters.
+ (MethodRef.intersectExceptions(Method)): Likewise.
+ * tools/gnu/classpath/tools/rmic/Main.java:
+ (backends): Add type parameter.
+ (run(String[])): Remove redundant cast.
+ * tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java:
+ (getArgumentList()): Add type parameters.
+ (getArgumentNames()): Likewise.
+ (getThrows()): Likewise.
+ (getStaticMethodDeclarations()): Likewise.
+ * tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java:
+ Add type parameter to Comparable.
+ (implementedRemotes): Add type parameter.
+ (extraImports): Likewise.
+ (methods): Likewise.
+ (interfaces): Likewise.
+ (compile(Class)): Add type parameters.
+ (getId(Class)): Add type parameter.
+ (getIdList(Collection)): Add type parameters.
+ (generateStub()): Add type parameters.
+ (generateTie()): Likewise.
+ (compare(AbstractMethodGenerator,AbstractMethodGenerator)): Use
+ more specific types.
+ (getImportStatements()): Add type parameters.
+ * tools/gnu/classpath/tools/rmic/Variables.java:
+ (free): Add type parameter.
+ (names): Add type parameters.
+ (wides): Add type parameter.
+ (declared): Likewise.
+ (allocateNow(Object,int)): Use Integer.valueOf.
+ (allocate(Object,int)): Add type parameters.
+ (deallocate(Object)): Remove redundant cast.
+ Use Integer.valueOf.
+ (get(Object)): Remove redundant cast.
2012-08-09 Dodji Seketeli <dodji@redhat.com>
Use accessor functions to manipulate xmlOutputBuffer
* native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT)
- (GET_XML_OUTPUT_BUFFER_SIZE): New macros.
- (xmljOutputWriteCallback): Use them.
+ (GET_XML_OUTPUT_BUFFER_SIZE): New macros.
+ (xmljOutputWriteCallback): Use them.
+
+2012-08-09 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * java/util/TimeZone.java:
+ (defaultZone()): Use parameterized PrivilegedAction.
+ (aliases0): Add type parameters.
+ (timezones0); Likewise.
+ (timezones()): Likewise.
+ (getDateParams(String)): Fix indenting.
+ (getTimeZoneInternal(String)): Remove redundant casts.
+ (getAvailableIDs(int)): Add type parameters.
+ (getAvailableIDs(File,String,ArrayList)): Likewise.
+ (getAvailableIDs()): Likewise.
+
+2012-07-03 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ Update copyright headers throughout.
+ * gnu/java/text/AttributedFormatBuffer.java:
+ (ranges): Add generic type information.
+ (attributes): Likewise.
+ (aRanges): Rename from a_ranges.
+ (aAttributes): Add generic type information and
+ rename from a_attributes. Convert to a list of
+ maps rather than an array for type safety.
+ (defaultAttr): Replace prefix with static import.
+ (AttributedFormatBuffer(CPStringBuilder): Add generic
+ typing.
+ (addAttribute(int,Attribute)): Drop prefix, rename
+ new_range to newRange. Add generic types.
+ Use Integer.valueOf in place of new Integer.
+ (append(String,Attribute)): Drop prefix.
+ (append(String,int[],List)): Replace array with list.
+ Use Integer.valueOf instead of new Integer.
+ (append(char,Attribute)): Drop prefix.
+ (setDefaultAttribute(Attribute)): Likewise.
+ (getDefaultAttribute()): Likewise.
+ (sync()): Rename a_ranges to aRanges. Drop unneeded casts.
+ Replace array with list.
+ (getRanges()): Rename a_ranges to aRanges.
+ (getAttributes()): Replace map with list. Rename a_attributes
+ to aAttributes.
+ * gnu/java/text/FormatBuffer.java:
+ Add static import for Attribute.
+ * gnu/java/text/FormatCharacterIterator.java:
+ (attributes): Replace array with list.
+ (FormatCharacterIterator()): Likewise.
+ (FormatCharacterIterator(String,int,List)): Switch from
+ array to list. Update documentation.
+ (getAllAttributeKeys()): Add generic type. Switch
+ from array to list.
+ (getAttributes()): Likewise.
+ (getAttribute(Attribute)): Likewise.
+ (getRunLimit(Set)): Likewise.
+ (getRunLimit(Attribute)): Likewise.
+ (getRunStart(Set)): Likewise.
+ (getRunStart(Attribute)): Likewise.
+ (mergeAttributes(List,int[])): Likewise. Use List
+ in preference to Vector. Use newRanges & newAttributes
+ rather than new_ranges and new_attributes.
+ (append(AttributedCharacterIterator)): Likewise.
+ (append(String,HashMap)): Likewise.
+ (addAttributes(Map,int,int)): Likewise.
+ (dumpTable()): Use startRange instead of start_range.
+ Add generic types.
+ * gnu/java/text/StringFormatBuffer.java,
+ Add static import for Attribute.
+ * java/text/AttributedString.java:
+ Add static import for Attribute.
+ (attribs): Add generic type.
+ (AttributeRange(Map,int,int)): Likewise.
+ (AttributedString(String,Map)): Likewise.
+ (AttributedString(AttributedCharacterIterator, int, int,
+ Attribute)): Drop prefix, add generic types.
+ (addAttribute(Attribute,Object)): Drop prefix.
+ (addAttribute(Attribute,Object,int,int)): Likewise
+ and add generic types.
+ (addAttributes(Map,int,int)): Add generic types.
+ (getIterator(Attribute)): Drop prefix.
+ (getIterator(Attribute[])): Likewise.
+ * java/text/AttributedStringIterator.java:
+ Add static import for Attribute.
+ (getAllAttributeKeys()): Add generic type.
+ (getRunLimit(Attribute)): Add generic type, drop
+ prefix.
+ (getRunLimit(Set)): Add generic types.
+ (getRunStart(Attribute)): Add generic type, drop
+ prefix.
+ (getRunStart(Set)): Add generic types.
+ (getAttributes()): Likewise.
+ * java/text/Bidi.java:
+ (formatterIndices): Add generic type.
+ (reinsertFormattingCodes()): Drop redundant cast.
+ * java/text/BreakIterator.java:
+ (getInstance(String,Locale)): Add generic type to Class.
+ * java/text/ChoiceFormat.java:
+ (stringVec): Add generic type.
+ (limitVec): Likewise.
+ (applyPattern(String)): Remove redundant cast.
+ * java/text/CollationElementIterator.java:
+ (textDecomposition): Renamed from text_decomposition.
+ (textIndexes): Renamed from text_indexes.
+ (setText(String)): Add generic types. Rename a_element
+ to aElement. Rename a_idx to aIdx. Rename key_old to
+ keyOld. Use Integer.valueOf rather than new Integer.
+ * java/text/DecimalFormat.java:
+ (attributes): Add generic type.
+ (formatToCharacterIterator(Object)): Remove redundant cast.
+ * java/text/MessageFormat.java:
+ (Field()): Remove unneeded warning suppression.
+ * java/text/NumberFormat.java:
+ (Field()): Likewise.
+
+2012-07-01 Andrew John Hughes <ahughes@redhat.com>
+
+ PR classpath/44052
+ * java/text/DateFormatSymbols.java:
+ (DFSData): Inner immutable class for storing parsed
+ locale data.
+ (DFSData.DFSData(String[],String[],String,String[],
+ String[],String[],String[],String[],String[],
+ String[][])): Constructor to initialise a new instance
+ with property data.
+ (DFSData.getAMPMs()): Return a clone of the ampms array.
+ (DFSData.getEras()): Likewise for eras.
+ (DFSData.getLocalPatternChars()): Return the local pattern
+ characters.
+ (DFSData.getMonths()): Return a clone of the (long) months
+ array.
+ (DFSData.getShortMonths()): Likewise for the short months array.
+ (DFSData.getWeekdays()): Likewise for (long) weekdays.
+ (DFSData.getShortWeekdays()): Likewise for short weekdays.
+ (DFSData.getDateFormats()): Likewise for date formats.
+ (DFSData.getTimeFormats()): Likewise for time formats.
+ (DFSData.getZoneStrings()): Likewise for zone strings.
+ (dataCache): Cache of parsed locale data.
+ (getZoneStrings(List<ResourceBundle>,Locale)):
+ Make static so it can be called by retrieveData.
+ (formatsForKey(List<ResourceBundle>,String)):
+ Likewise.
+ (getString(List<ResourceBundle>, String)): Likewise.
+ (retrieveData(Locale)): Separate out retrieval of
+ locale data from constructor and store it in the cache.
+ (DateFormatSymbols(Locale)): Modify to call retrieveData
+ and set fields from the returned DFSData instance.
+
+2012-05-30 Andrew John Hughes <ahughes@redhat.com>
-2012-03-08 Andrew John Hughes <ahughes@redhat.com>
+ * java/text/DateFormatSymbols.java:
+ (getZoneStrings(List<ResourceBundle>, Locale)):
+ Refactor to use existing list of resource bundles.
+ (formatsForKey(List<ResourceBundle>, String)):
+ Likewise and use new local getString method.
+ (getString(List<ResourceBundle>, String)):
+ Use first available String from most-specific locale
+ rather than the least-specific.
+ (DateFormatSymbols(Locale)): Use bundles for resolving
+ localPatternChars, dateFormats, timeFormats and runtimeZoneStrings
+ as well.
+
+2012-05-04 Andrew John Hughes <ahughes@redhat.com>
+
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c,
+ (font_map): Renamed from ft2_map.
+ (Java_gnu_java_awt_peer_gtk_GdkFontPeer_initStaticState(JNIEnv,
+ jclass)): Remove cast to pango_ft2_font_map_new.
+ (Java_gnu_java_awt_peer_gtk_GdKFontPeer_setFont(JNIEnv,
+ jobject,jstring,jint,jint)): Call pango_font_map_create_context
+ rather than deprecated pango_ft2_font_map_create_context.
+
+2012-05-01 Andrew John Hughes <ahughes@redhat.com>
+
+ * java/text/DateFormatSymbols.java:
+ Rename U00AE and U000A9 as the more memorable
+ FIELD_SPLIT and ZONE_SPLIT respectively.
+ * THANKYOU: Add Andreas Sewe.
- * NEWS: Set correct release date.
- * configure.ac: Bump to 0.99 proper.
+2012-04-30 Andreas Sewe <sewe@st.informatik.tu-darmstadt.de>
+
+ PR classpath/53171
+ * java/text/DateFormatSymbols.java:
+ (U00A9): Pre-compile pattern for zone separation.
+ (U00AE): Likewise for fields.
+ (getStringArray(List,String,int,String)): Use U00AE.split
+ in place of String.split.
+ (getZoneStrings(ResourceBundle,Locale)): Use U00AE.split
+ and U00A9.split in place of String.split.
+
+2012-04-25 Andrew John Hughes <ahughes@redhat.com>
+
+ Update warning suppression so it still works
+ with newer compilers.
+ * javax/activation/ActivationDataFlavor.java:
+ (ActivationDataFlavor(Class,String,String)): Suppress
+ rawtypes not unchecked.
+ (ActivationDataFlavor(Class,String)): Likewise.
+ (getRepresentationClass()): Likewise.
+ * javax/activation/MimeTypeParameterList.java:
+ (getNames()): Likewise.
+ * javax/management/DefaultLoaderRepository.java:
+ (loadClass(String)): Likewise.
+ (loadClassWithout(ClassLoader,String)): Likewise.
+ * javax/management/MBeanConstructorInfo.java:
+ (MBeanConstructorInof(String,Constructor)): Likewise.
+ * javax/management/remote/rmi/RMIConnection.java:
+ (addNotificationListener(ObjectName,ObjectName,MarshelledObject,
+ MarshelledObject,Subject)): Likewise.
+ (addNotificationListeners(ObjectName[],MarshelledObject[], Subject[])):
+ Likewise.
+ (createMBean(String,ObjectName,MarshalledObject,String,Subject)): Likewise.
+ (createMBean(String,ObjectName,ObjectName,MarshalledObject,String[],Subject)):
+ Likewise.
+ (invoke(ObjectName,String,MarshalledObject,String[],Subject)): Likewise.
+ (queryMBeans(ObjectName,MarshalledObject,Subject)): Likewise.
+ (queryNames(ObjectName,MarshalledObject,Subject)): Likewise.
+ (removeNotificationListener(ObjectName,ObjectName,MarshalledObject,
+ MarshalledObject,Subject)): Likewise.
+ (setAttribute(ObjectName,MarshalledObject,Subject)): Likewise.
+ (setAttributes(ObjectName,MarshalledObject,Subject)): Likewise.
+ * javax/swing/tree/DefaultMutableTreeNode.java:
+ (children()): Likewise.
+ (preorderEnumeration()): Likewise.
+ (postorderEnumeration()): Likewise.
+ (breadthFirstEnumeration()): Likewise.
+ (depthFirstEnumeration()): Likewise.
+ (pathFromAncestorEnumeration(TreeNode)): Likewise.
+ (BreadthFirstEnumeration.nextElement()): Move annotation down to assignment level.
+ (PreorderEnumeration.PreorderEnumeration(TreeNode)): Likewise.
+ (PreorderEnumeration.traverse(Enumeration)): Likewise.
+ (PostorderEnumeration.PostorderEnumeration(TreeNode)): Likewise.
+ (PostorderEnumeration.traverse(Enumeration()): Likewise.
+ * javax/swing/tree/TreeNode.java:
+ (children()): Suppress rawtypes not unchecked.
+ * javax/xml/namespace/NamespaceContext.java:
+ (getPrefixes(String)): Likewise.
+ * javax/xml/stream/XMLEventFactory.java:
+ (createStartElement(QName,Iterator,Iterator)): Likewise.
+ (createStartElement(String,String,String,Iterator,Iterator)): Likewise.
+ (createStartElement(String,String,String,Iterator,Iterator,NamespaceContext)):
+ Likewise.
+ (createEndElement(QName,Iterator)): Likewise.
+ (createEndElement(String,String,String,Iterator)): Likewise.
+ * javax/xml/stream/XMLEventReader.java: Likewise (at class level
+ due to inheritance).
+ * javax/xml/stream/events/DTD.java:
+ (getNotations()): Likewise.
+ (getEntities()): Likewise.
+ * javax/xml/stream/events/EndElement.java:
+ (getNamespaces()): Likewise.
+ * javax/xml/stream/events/StartElement.java:
+ (getAttributes()): Likewise.
+ (getNamespaces()): Likewise.
+ * javax/xml/xpath/XPathFunction.java:
+ (evaluate(List)): Likewise.
+ * org/omg/CORBA/LocalObject.java:
+ (_servant_preinvoke(String,Class)): Likewise.
+ * org/omg/CORBA/portable/Delegate.java:
+ (servant_preinvoke(org.omg.CORBA.Object,String,Class)): Likewise.
+ * org/omg/CORBA/portable/InputStream.java:
+ (read_Object(Class)): Likewise.
+ * org/omg/CORBA/portable/ObjectImpl.java:
+ (_servant_preinvoke(String,Class)): Likewise.
+ * org/omg/CORBA_2_3/portable/InputStream.java:
+ (read_abstract_interface(Class)): Likewise.
+ (read_value(Class)): Likewise.
+ * org/omg/CORBA_2_3/portable/OutputStream.java:
+ (write_value(Serializable,Class)): Likewise.
+ * org/omg/DynamicAny/_DynAnyFactoryStub.java:
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynAnyStub.java:
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynArrayStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynEnumStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynFixedStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynSequenceStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynStructStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynUnionStub.java,
+ (_opsClass): Likewise.
+ * org/omg/DynamicAny/_DynValueStub.java,
+ (_opsClass): Likewise.
+ * org/omg/PortableServer/_ServantActivatorStub.java,
+ (_opsClass): Likewise.
+ * org/omg/PortableServer/_ServantLocatorStub.java,
+ (_opsClass): Likewise.
+
+2012-04-24 Andrew John Hughes <ahughes@redhat.com>
+
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c:
+ (Java_gnu_java_awt_peer_gtk_GtkImage_freePixbuf):
+ Use g_object_unref rather than deprecated gdk_pixbuf_unref
+ to avoid warning.
+
+2012-04-03 Andrew John Hughes <ahughes@redhat.com>
+
+ * .gitignore: Renamed from .cvsignore.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * gnu/java/rmi/registry/RegistryImpl.java (version): Update
+ copyright notice dates.
+ * tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
+
+2007-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ * java/util/TimeZone.java (getDefaultDisplayName): Don't
+ check if TimeZone is instanceof SimpleTimeZone.
+
+2006-09-13 Andrew Haley <aph@redhat.com>
+
+ * java/util/PriorityQueue.java: Throw IllegalArgumentException for
+ capacity < 1.
+ (Iterator.remove()): Decrement index after removing element.
+
+2007-02-14 Jakub Jelinek <jakub@redhat.com>
+ Andrew Haley <aph@redhat.com>
+
+ * java/util/TimeZone.java (getDateParams): Negate dayOfWeek.
+
+2012-03-22 Andrew John Hughes <ahughes@redhat.com>
+
+ * java/util/regex/Matcher.java:
+ (usePattern(Pattern)): Implemented.
+
+2012-03-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR libgcj/52694
+ * native/jni/java-io/java_io_VMConsole.c (IUCLC): Define, if
+ undefined.
+
+2012-03-16 Andrew John Hughes <ahughes@redhat.com>
+
+ * NEWS: Add key along the same lines
+ as IcedTea.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * gnu/java/nio/FileLockImpl.java,
+ * java/beans/XMLDecoder.java,
+ * java/beans/XMLEncoder.java,
+ * java/io/Closeable.java,
+ * java/io/ObjectInput.java,
+ * java/io/ObjectOutput.java,
+ * java/lang/AutoCloseable.java,
+ * java/nio/channels/FileLock.java,
+ * java/sql/Connection.java,
+ * java/sql/ResultSet.java,
+ * java/sql/Statement.java,
+ * javax/sound/midi/MidiDevice.java,
+ * javax/sound/midi/Receiver.java,
+ * javax/sound/midi/Transmitter.java,
+ * javax/sound/sampled/Line.java:
+ Add missing interface.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/reflect/Modifier.java:
+ (classModifiers): Add missing method.
+ (interfaceModifiers): Add missing method.
+ (constructorModifiers): Add missing method.
+ (methodModifiers): Add missing method.
+ (fieldModifiers): Add missing method.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/ClassNotFoundException,
+ * java/lang/IllegalAccessException.java,
+ * java/lang/InstantiationException.java,
+ * java/lang/NoSuchFieldException.java,
+ * java/lang/NoSuchMethodException.java,
+ * java/lang/ReflectiveOperationException.java,
+ * java/lang/reflect/InvocationTargetException.java:
+ Add ReflectiveOperationException class.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/AssertionError.java:
+ (AssertionError): Add missing constructor.
+ * java/lang/LinkageError.java:
+ (LinkageError): Add missing constructor.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/Boolean.java:
+ (compare): Add missing method.
+ * java/lang/Byte.java:
+ (compare): Add missing method.
+ * java/lang/Character.java:
+ (compare): Add missing method.
+ * java/lang/Integer.java:
+ (compare): Add missing method.
+ * java/lang/Long.java:
+ (compare): Add missing method.
+ * java/lang/Short.java:
+ (compare): Add missing method.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/System.java:
+ (lineSeparator): Add missing method.
+
+2012-03-12 Pekka Enberg <penberg@kernel.org>
+
+ * java/lang/reflect/Member.java:
+ (getDeclaringClass): Fix return type.
+
+2012-03-07 Andrew John Hughes <ahughes@redhat.com>
+
+ * NEWS:
+ Add section for 1.0 release.
+ * configure.ac:
+ Bump to 1.0pre.
2012-03-07 Andrew John Hughes <ahughes@redhat.com>
diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj
index 53d206bdcc9..45da96b0792 100644
--- a/libjava/classpath/ChangeLog.gcj
+++ b/libjava/classpath/ChangeLog.gcj
@@ -1,3 +1,8 @@
+2012-12-03 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac (AM_INIT_AUTOMAKE): Call with no-dist.
+ * m4/lib-ld.m4, m4/lib-link.m4,m4/lib-prefix.m4: New.
+
2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL
index a1e89e18ad2..7d1c323beae 100644
--- a/libjava/classpath/INSTALL
+++ b/libjava/classpath/INSTALL
@@ -1,8 +1,8 @@
Installation Instructions
*************************
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
-Inc.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -226,11 +226,6 @@ order to use an ANSI C compiler:
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
- HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved. Use GNU `make'
-instead.
-
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in
index 0e8aee5b8d0..eda3433a321 100644
--- a/libjava/classpath/Makefile.in
+++ b/libjava/classpath/Makefile.in
@@ -36,11 +36,11 @@ host_triplet = @host@
target_triplet = @target@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
- $(srcdir)/../../config.guess $(srcdir)/../../config.sub \
- $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
- $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/configure \
+ $(srcdir)/../../config.guess $(srcdir)/../../config.rpath \
+ $(srcdir)/../../config.sub $(srcdir)/../../install-sh \
+ $(srcdir)/../../ltmain.sh $(srcdir)/../../missing \
+ $(srcdir)/../../mkinstalldirs $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/configure \
$(top_srcdir)/gnu/classpath/Configuration.java.in \
$(top_srcdir)/gnu/java/security/Configuration.java.in \
$(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
@@ -57,9 +57,6 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -78,7 +75,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -247,6 +246,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS
index dd2e1568ff2..0a7884a6fab 100644
--- a/libjava/classpath/NEWS
+++ b/libjava/classpath/NEWS
@@ -1,4 +1,27 @@
-New in release 0.99 (Mar 08, 2012)
+Key:
+
+SX - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=X
+RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X
+DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X
+GX - http://bugs.gentoo.org/show_bug.cgi?id=X
+CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X
+LPX - https://bugs.launchpad.net/bugs/X
+PRX - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=X
+
+CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
+
+New in release 0.99.1 (XXX XX, 2012)
+
+* Bug fixes:
+ - PR42134: NPE in java.text.Bidi
+ - PR54931: Classpath will not build docs with version of GJDoc included with itself
+ - PR54960: Avoid NullPointerException in SAXSerializer.
+ - PR42551: Avoid overwriting length of message when computing length representation.
+ - PR44208: Ensure a handle for the enum is registered before its constant.
+ - PR41689: javax.security.sasl.CREDIENTIALS field is missing
+ - PR55140: Addition of exception to codePointBefore breaks OpenJDK GenerateBreakIteratorData tool
+
+New in release 0.99 (Feb 15, 2012)
* Addition of java.util.regex.Pattern.quote.
* Addition of java.io.IOError.
diff --git a/libjava/classpath/THANKYOU b/libjava/classpath/THANKYOU
index 21e75c84e47..22314d1e743 100644
--- a/libjava/classpath/THANKYOU
+++ b/libjava/classpath/THANKYOU
@@ -15,6 +15,7 @@ Moses DeJong (dejong@cs.umn.edu)
Patrick Doyle (doylep@eecg.toronto.edu)
Julian Dolby (dolby@us.ibm.com)
Raimar Falke (hawk@hawk.shef.ac.uk)
+Paul Fernhout (pdfernhout@kurtz-fernhout.com)
Philip Fong (pwlfong@users.sourceforge.net)
Jeroen Frijters (jeroen@sumatra.nl)
Etienne M. Gagnon (etienne.gagnon@uqam.ca)
@@ -43,6 +44,8 @@ Petter Reinholdtsen (pere@hungry.com)
Julian Scheid (julian.scheid@sektor37.de)
Martin Schröder (ms@artcom-gmbh.de)
Robert Schuster (robertschuster@fsfe.org)
+Andreas Sewe (sewe@st.informatik.tu-darmstadt.de)
+Jeremy Singer (Jeremy.Singer@glasgow.ac.uk)
Gaute Smaaland (gs@sevenmountains.no)
Michael Smith (msmith@spinnakernet.com)
J. Russell Smyth (drfish@uswest.net)
@@ -50,6 +53,7 @@ Ian D. Stewart (idstewart@softhome.net)
Jeff Sturm (jsturm@one-point.com)
Sreenivas Subramoney (sreenivas.subramoney@intel.com)
Chris Toshok (toshok@hungry.com)
+Paul Viney (paul@diasoft.nl)
Weldon Washburn (weldon.washburn@intel.com)
Adam Welc (welc@cs.purdue.edu)
Gansha Wu (gansha.wu@intel.com)
diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4
index e84d8d8e1a9..c6fce4da260 100644
--- a/libjava/classpath/aclocal.m4
+++ b/libjava/classpath/aclocal.m4
@@ -1062,9 +1062,6 @@ AC_SUBST([am__untar])
m4_include([../../config/depstand.m4])
m4_include([../../config/lead-dot.m4])
-m4_include([../../config/lib-ld.m4])
-m4_include([../../config/lib-link.m4])
-m4_include([../../config/lib-prefix.m4])
m4_include([../../config/multi.m4])
m4_include([../../config/no-executables.m4])
m4_include([../../config/override.m4])
@@ -1085,4 +1082,7 @@ m4_include([m4/ax_create_stdint_h.m4])
m4_include([m4/ax_func_which_gethostbyname_r.m4])
m4_include([m4/gcc_attribute.m4])
m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
m4_include([m4/pkg.m4])
diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub
index 78176a44029..59bb593f109 100755
--- a/libjava/classpath/config.sub
+++ b/libjava/classpath/config.sub
@@ -2,9 +2,9 @@
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2011-10-29'
+timestamp='2012-04-18'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2011-10-29'
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -76,8 +74,8 @@ version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -132,6 +130,10 @@ case $maybe_os in
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -223,6 +225,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
@@ -247,6 +255,7 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -319,8 +328,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -333,7 +341,10 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
-
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -356,6 +367,7 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@@ -719,7 +731,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -816,6 +827,10 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
+ msys)
+ basic_machine=i386-pc
+ os=-msys
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -1343,7 +1358,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
@@ -1555,9 +1570,6 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
diff --git a/libjava/classpath/configure b/libjava/classpath/configure
index 48a422ab102..e42cde64102 100755
--- a/libjava/classpath/configure
+++ b/libjava/classpath/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for GNU Classpath 0.99.
+# Generated by GNU Autoconf 2.64 for GNU Classpath 0.99.1-pre.
#
# Report bugs to <classpath@gnu.org>.
#
@@ -559,8 +559,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Classpath'
PACKAGE_TARNAME='classpath'
-PACKAGE_VERSION='0.99'
-PACKAGE_STRING='GNU Classpath 0.99'
+PACKAGE_VERSION='0.99.1-pre'
+PACKAGE_STRING='GNU Classpath 0.99.1-pre'
PACKAGE_BUGREPORT='classpath@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/classpath/'
@@ -669,6 +669,7 @@ GLIB_LIBS
GLIB_CFLAGS
MOZILLA_LIBS
MOZILLA_CFLAGS
+MOC4
MOC
QT_LIBS
QT_CFLAGS
@@ -1490,7 +1491,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Classpath 0.99 to adapt to many kinds of systems.
+\`configure' configures GNU Classpath 0.99.1-pre to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1565,7 +1566,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Classpath 0.99:";;
+ short | recursive ) echo "Configuration of GNU Classpath 0.99.1-pre:";;
esac
cat <<\_ACEOF
@@ -1757,7 +1758,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Classpath configure 0.99
+GNU Classpath configure 0.99.1-pre
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2586,7 +2587,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Classpath $as_me 0.99, which was
+It was created by GNU Classpath $as_me 0.99.1-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3621,7 +3622,7 @@ fi
# Define the identity of the package.
PACKAGE='classpath'
- VERSION='0.99'
+ VERSION='0.99.1-pre'
cat >>confdefs.h <<_ACEOF
@@ -3880,10 +3881,10 @@ if test "${enable_Werror+set}" = set; then :
enableval=$enable_Werror; case "${enableval}" in
yes) ENABLE_WERROR=yes ;;
no) ENABLE_WERROR=no ;;
- *) ENABLE_WERROR=default ;;
+ *) ENABLE_WERROR=no ;;
esac
else
- ENABLE_WERROR=default
+ ENABLE_WERROR=no
fi
@@ -11819,7 +11820,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11822 "configure"
+#line 11823 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11925,7 +11926,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11928 "configure"
+#line 11929 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17957,7 +17958,7 @@ $as_echo_n "checking for ld used by GCC... " >&6; }
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -17989,11 +17990,12 @@ else
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
- if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
fi
done
IFS="$ac_save_ifs"
@@ -18017,11 +18019,12 @@ if test "${acl_cv_prog_gnu_ld+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- acl_cv_prog_gnu_ld=yes
-else
- acl_cv_prog_gnu_ld=no
-fi
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
$as_echo "$acl_cv_prog_gnu_ld" >&6; }
@@ -18029,6 +18032,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
$as_echo_n "checking for shared library run path origin... " >&6; }
if test "${acl_cv_rpath+set}" = set; then :
@@ -18045,12 +18049,14 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
$as_echo "$acl_cv_rpath" >&6; }
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
# Check whether --enable-rpath was given.
if test "${enable_rpath+set}" = set; then :
enableval=$enable_rpath; :
@@ -18061,6 +18067,74 @@ fi
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if test "${gl_cv_solaris_64bit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
@@ -18100,7 +18174,11 @@ if test "${with_libiconv_prefix+set}" = set; then :
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
@@ -18109,6 +18187,8 @@ fi
LIBICONV=
LTLIBICONV=
INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -18142,22 +18222,52 @@ fi
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIBICONV; do
@@ -18173,21 +18283,44 @@ fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
;;
esac
if test "X$found_dir" != "X"; then
@@ -18198,7 +18331,9 @@ fi
if test "X$found_dir" != "X"; then
LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
haveit=
@@ -18211,10 +18346,10 @@ fi
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -18246,7 +18381,7 @@ fi
if test -z "$haveit"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
@@ -18263,8 +18398,18 @@ fi
fi
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
@@ -18274,7 +18419,7 @@ fi
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -18313,12 +18458,14 @@ fi
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -18415,21 +18562,21 @@ fi
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
@@ -18447,6 +18594,11 @@ fi
+
+
+
+
+
am_save_CPPFLAGS="$CPPFLAGS"
for element in $INCICONV; do
@@ -20897,11 +21049,11 @@ fi
set dummy moc-qt4; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MOC+set}" = set; then :
+if test "${ac_cv_prog_MOC4+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$MOC"; then
- ac_cv_prog_MOC="$MOC" # Let the user override the test.
+ if test -n "$MOC4"; then
+ ac_cv_prog_MOC4="$MOC4" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -20910,7 +21062,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MOC="moc-qt4"
+ ac_cv_prog_MOC4="moc-qt4"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -20920,16 +21072,21 @@ IFS=$as_save_IFS
fi
fi
-MOC=$ac_cv_prog_MOC
-if test -n "$MOC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5
-$as_echo "$MOC" >&6; }
+MOC4=$ac_cv_prog_MOC4
+if test -n "$MOC4"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5
+$as_echo "$MOC4" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+ if test x"$MOC4" != x ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using $MOC4 as moc" >&5
+$as_echo "$as_me: Using $MOC4 as moc" >&6;}
+ MOC=$MOC4;
+ fi
fi
if test "x$HAVE_QT4" = "xno"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Looking for QT_CFLAGS and QT_LIBS without pkg-config" >&5
@@ -23038,6 +23195,8 @@ $as_echo "${gjdoc_version}" >&6; }
case ${gjdoc_version} in
0.7.9) ;;
0.8*) ;;
+ 0.9*) ;;
+ 1*) ;;
*) as_fn_error "Building documentation requires GJDoc >= 0.7.9, ${gjdoc_version} found." "$LINENO" 5 ;;
esac
fi
@@ -23757,7 +23916,7 @@ fi
test "x$JAVA" = x && as_fn_error "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5
-ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
+ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
GCJ_OPTS="-g"
if test "x$JAVAPREFIX" = x; then
@@ -23887,7 +24046,7 @@ else
JAVA_TEST=Object.java
CLASS_TEST=Object.class
cat << \EOF > $JAVA_TEST
-/* #line 23890 "configure" */
+/* #line 24049 "configure" */
package java.lang;
public class Object
@@ -23980,7 +24139,7 @@ EOF
if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes
else
- echo "configure: 23983: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+ echo "configure: 24142: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
echo "configure: failed file was:" >&5
cat Test.uue >&5
ac_cv_prog_uudecode_base64=no
@@ -24008,7 +24167,7 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class
TEST=Test
cat << \EOF > $JAVA_TEST
-/* [#]line 24011 "configure" */
+/* [#]line 24170 "configure" */
public class Test {
public static void main (String args[]) {
System.exit (0);
@@ -24216,7 +24375,7 @@ if test "x${use_glibj_zip}" = xfalse || \
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
- /* #line 24219 "configure" */
+ /* #line 24378 "configure" */
public class Test
{
public static void main(String args)
@@ -25061,7 +25220,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Classpath $as_me 0.99, which was
+This file was extended by GNU Classpath $as_me 0.99.1-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25131,7 +25290,7 @@ General help using GNU software: <http://www.gnu.org/gethelp/>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-GNU Classpath config.status 0.99
+GNU Classpath config.status 0.99.1-pre
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac
index 60121a56356..910c8f02e9a 100644
--- a/libjava/classpath/configure.ac
+++ b/libjava/classpath/configure.ac
@@ -6,7 +6,7 @@ dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
-AC_INIT([GNU Classpath],[0.99],[classpath@gnu.org],[classpath])
+AC_INIT([GNU Classpath],[0.99.1-pre],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java)
AC_CONFIG_MACRO_DIR([m4])
@@ -75,7 +75,7 @@ CLASSPATH_CONVENIENCE="-no-undefined"
AC_SUBST(CLASSPATH_CONVENIENCE)
AC_PREREQ(2.64)
-AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability])
+AM_INIT_AUTOMAKE([1.9.0 no-dist gnu std-options tar-ustar -Wno-portability])
AC_CONFIG_HEADERS([include/config.h])
AC_PREFIX_DEFAULT(/usr/local/classpath)
@@ -183,9 +183,9 @@ AC_ARG_ENABLE([Werror],
[case "${enableval}" in
yes) ENABLE_WERROR=yes ;;
no) ENABLE_WERROR=no ;;
- *) ENABLE_WERROR=default ;;
+ *) ENABLE_WERROR=no ;;
esac],
- [ENABLE_WERROR=default])
+ [ENABLE_WERROR=no])
dnl -----------------------------------------------------------
dnl Default AWT toolkit
@@ -703,7 +703,11 @@ if test "x${COMPILE_JNI}" = xyes; then
QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
AC_MSG_WARN([QWidget not found])))
AC_CHECK_PROG(MOC, [moc], [moc])
- AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
+ AC_CHECK_PROG(MOC4, [moc-qt4], [moc-qt4])
+ if test x"$MOC4" != x ; then
+ AC_MSG_NOTICE([Using $MOC4 as moc])
+ MOC=$MOC4;
+ fi
fi
if test "x$HAVE_QT4" = "xno"; then
AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
diff --git a/libjava/classpath/depcomp b/libjava/classpath/depcomp
index bd0ac089584..df8eea7e4ce 100755
--- a/libjava/classpath/depcomp
+++ b/libjava/classpath/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2011-12-04.11; # UTC
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ Environment variables:
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputting dependencies.
+ tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
@@ -90,18 +90,10 @@ if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
+ cygpath_u="sed s,\\\\\\\\,/,g"
depmode=msvisualcpp
fi
-if test "$depmode" = msvc7msys; then
- # This is just like msvc7 but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvc7
-fi
-
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -166,12 +158,10 @@ gcc)
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
-## well. hp depmode also adds that space, but also prefixes the VPATH
-## to the object. Take care to not repeat it in the output.
+## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
- | sed -e 's/$/ :/' >> "$depfile"
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -415,52 +405,6 @@ tru64)
rm -f "$tmpdepfile"
;;
-msvc7)
- if test "$libtool" = yes; then
- showIncludes=-Wc,-showIncludes
- else
- showIncludes=-showIncludes
- fi
- "$@" $showIncludes > "$tmpdepfile"
- stat=$?
- grep -v '^Note: including file: ' "$tmpdepfile"
- if test "$stat" = 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- # The first sed program below extracts the file names and escapes
- # backslashes for cygpath. The second sed program outputs the file
- # name when reading, but also accumulates all include files in the
- # hold buffer in order to output them again at the end. This only
- # works with sed implementations that can handle large buffers.
- sed < "$tmpdepfile" -n '
-/^Note: including file: *\(.*\)/ {
- s//\1/
- s/\\/\\\\/g
- p
-}' | $cygpath_u | sort -u | sed -n '
-s/ /\\ /g
-s/\(.*\)/ \1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
- s/.*/ /
- G
- p
-}' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvc7msys)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
@@ -559,9 +503,7 @@ makedepend)
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- # makedepend may prepend the VPATH from the source file name to the object.
- # No need to regex-escape $object, excess matching of '.' is harmless.
- sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
diff --git a/libjava/classpath/doc/Makefile.am b/libjava/classpath/doc/Makefile.am
index a5f19b7e5da..27a378d07be 100644
--- a/libjava/classpath/doc/Makefile.am
+++ b/libjava/classpath/doc/Makefile.am
@@ -7,8 +7,9 @@ EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS)
TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex
info_TEXINFOS = cp-tools.texinfo
+# POSIX locale necessary to make grep work; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586134
.texinfo.dvi:
- texi2dvi $<
+ LC_ALL=POSIX texi2dvi --build-dir=$(builddir) -o $@ $<
.dvi.ps:
dvips -o $@ $<
@@ -135,3 +136,6 @@ MAINTAINERCLEANFILES = \
$(srcdir)/gserialver.1 \
$(srcdir)/gtnameserv.1 \
$(srcdir)/cp-tools.info
+
+clean-local:
+ -rm -rf *.t2d
diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in
index 7a2432c0dda..060ddea533b 100644
--- a/libjava/classpath/doc/Makefile.in
+++ b/libjava/classpath/doc/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -245,6 +244,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
@@ -868,7 +868,8 @@ maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
-clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
+clean-am: clean-aminfo clean-generic clean-libtool clean-local \
+ mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
@@ -1018,10 +1019,10 @@ uninstall-man: uninstall-man1
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-aminfo \
- clean-generic clean-libtool ctags ctags-recursive dist-info \
- distclean distclean-generic distclean-libtool distclean-tags \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
+ clean-generic clean-libtool clean-local ctags ctags-recursive \
+ dist-info distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-man1 install-pdf install-pdf-am install-ps \
@@ -1034,8 +1035,9 @@ uninstall-man: uninstall-man1
uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
+# POSIX locale necessary to make grep work; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586134
.texinfo.dvi:
- texi2dvi $<
+ LC_ALL=POSIX texi2dvi --build-dir=$(builddir) -o $@ $<
.dvi.ps:
dvips -o $@ $<
@@ -1113,6 +1115,9 @@ stamp-geninsrc: $(TOOLS_MANFILES) cp-tools.info
-cp -p cp-tools.info $(srcdir)/cp-tools.info
touch $@
+clean-local:
+ -rm -rf *.t2d
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in
index c811ef15ac3..88bd46b1c87 100644
--- a/libjava/classpath/doc/api/Makefile.in
+++ b/libjava/classpath/doc/api/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -170,6 +169,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/doc/cp-tools.texinfo b/libjava/classpath/doc/cp-tools.texinfo
index 7b4e747319e..ec186dee778 100644
--- a/libjava/classpath/doc/cp-tools.texinfo
+++ b/libjava/classpath/doc/cp-tools.texinfo
@@ -2438,14 +2438,14 @@ with the header @samp{CVS ID}, you would specify:
Let's say that a class javadoc comment contains
@smallexample
-@@cvsid $Id: cp-tools.texinfo,v 1.9 2012/03/07 15:27:27 gnu_andrew Exp $
+@@cvsid $Id: cp-tools.texinfo,v 1.9 2012-03-07 15:27:27 gnu_andrew Exp $
@end smallexample
Then the HTML output will contain something like
@smallexample
CVS ID:
- $Id: cp-tools.texinfo,v 1.9 2012/03/07 15:27:27 gnu_andrew Exp $
+ $Id: cp-tools.texinfo,v 1.9 2012-03-07 15:27:27 gnu_andrew Exp $
@end smallexample
@end table
diff --git a/libjava/classpath/doc/texinfo.tex b/libjava/classpath/doc/texinfo.tex
index 2abda0f3daf..91408263bc9 100644
--- a/libjava/classpath/doc/texinfo.tex
+++ b/libjava/classpath/doc/texinfo.tex
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2012-01-03.09}
+\def\texinfoversion{2009-08-14.15}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+% 2007, 2008, 2009 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -65,6 +65,7 @@
\everyjob{\message{[Texinfo version \texinfoversion]}%
\catcode`+=\active \catcode`\_=\active}
+
\chardef\other=12
% We never want plain's \outer definition of \+ in Texinfo.
@@ -92,13 +93,14 @@
\let\ptexnewwrite\newwrite
\let\ptexnoindent=\noindent
\let\ptexplus=+
-\let\ptexraggedright=\raggedright
\let\ptexrbrace=\}
\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
\let\ptextop=\top
-{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
+{\catcode`\'=\active
+\global\let\ptexquoteright'}% Math-mode def from plain.tex.
+\let\ptexraggedright=\raggedright
% If this character appears in an error message or help string, it
% starts a new line in the output.
@@ -116,11 +118,10 @@
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
-\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
@@ -159,18 +160,15 @@
\def\spaceisspace{\catcode`\ =\spacecat}
% sometimes characters are active, so we need control sequences.
-\chardef\ampChar = `\&
\chardef\colonChar = `\:
\chardef\commaChar = `\,
\chardef\dashChar = `\-
\chardef\dotChar = `\.
\chardef\exclamChar= `\!
-\chardef\hashChar = `\#
\chardef\lquoteChar= `\`
\chardef\questChar = `\?
\chardef\rquoteChar= `\'
\chardef\semiChar = `\;
-\chardef\slashChar = `\/
\chardef\underChar = `\_
% Ignore a token.
@@ -201,7 +199,36 @@
% that mark overfull boxes (in case you have decided
% that the text looks ok even though it passes the margin).
%
-\def\finalout{\overfullrule=0pt }
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
% Sometimes it is convenient to have everything in the transcript file
% and nothing on the terminal. We don't just call \tracingall here,
@@ -219,7 +246,7 @@
\tracingmacros2
\tracingrestores1
\showboxbreadth\maxdimen \showboxdepth\maxdimen
- \ifx\eTeXversion\thisisundefined\else % etex gives us more logging
+ \ifx\eTeXversion\undefined\else % etex gives us more logging
\tracingscantokens1
\tracingifs1
\tracinggroups1
@@ -230,13 +257,6 @@
\errorcontextlines16
}%
-% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
-% aren't perfect, it's not the end of the world, being an error message,
-% after all.
-%
-\def\errormsg{\begingroup \indexnofonts \doerrormsg}
-\def\doerrormsg#1{\errmessage{#1}}
-
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
@@ -247,6 +267,7 @@
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
+% For @cropmarks command.
% Do @cropmarks to get crop marks.
%
\newif\ifcropmarks
@@ -556,7 +577,7 @@
}
\def\inenvironment#1{%
\ifx#1\empty
- outside of any environment%
+ out of any environment%
\else
in environment \expandafter\string#1%
\fi
@@ -568,7 +589,7 @@
\parseargdef\end{%
\if 1\csname iscond.#1\endcsname
\else
- % The general wording of \badenverr may not be ideal.
+ % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
\expandafter\checkenv\csname#1\endcsname
\csname E#1\endcsname
\endgroup
@@ -578,6 +599,85 @@
\newhelp\EMsimple{Press RETURN to continue.}
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\tt\char64}}
+
+% This is turned off because it was never documented
+% and you can use @w{...} around a quote to suppress ligatures.
+%% Define @` and @' to be the same as ` and '
+%% but suppressing ligatures.
+%\def\`{{`}}
+%\def\'{{'}}
+
+% Used to generate quoted braces.
+\def\mylbrace {{\tt\char123}}
+\def\myrbrace {{\tt\char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+ % Definitions to produce \{ and \} commands for indices,
+ % and @{ and @} for the aux/toc files.
+ \catcode`\{ = \other \catcode`\} = \other
+ \catcode`\[ = 1 \catcode`\] = 2
+ \catcode`\! = 0 \catcode`\\ = \other
+ !gdef!lbracecmd[\{]%
+ !gdef!rbracecmd[\}]%
+ !gdef!lbraceatcmd[@{]%
+ !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \c
+\let\dotaccent = \.
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \t
+\let\ubaraccent = \b
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+ \def\temp{#1}%
+ \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
+ \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
+ \else \errmessage{@dotless can be used only with i or j}%
+ \fi\fi
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence. (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo. Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+ L\kern-.36em
+ {\setbox0=\hbox{T}%
+ \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+ \kern-.15em
+ \TeX
+}
+
% Be sure we're in horizontal mode when doing a tie, since we make space
% equivalent to this in @example-like environments. Otherwise, a space
% at the beginning of a line will start with \penalty -- and
@@ -619,7 +719,7 @@
\else\ifx\temp\offword \plainnonfrenchspacing
\else
\errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
+ \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
\fi\fi
}
@@ -701,6 +801,15 @@ where each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
+% Old definition--didn't work.
+%\parseargdef\need{\par %
+%% This method tries to make TeX break the page naturally
+%% if the depth of the box does not fit.
+%{\baselineskip=0pt%
+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\prevdepth=-1000pt
+%}}
+
\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
@@ -764,7 +873,7 @@ where each line of input produces a line of output.}
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
-% class. WHICH is `l' or `r'. Not documented, written for gawk manual.
+% class. WHICH is `l' or `r'.
%
\newskip\inmarginspacing \inmarginspacing=1cm
\def\strutdepth{\dp\strutbox}
@@ -811,36 +920,6 @@ where each line of input produces a line of output.}
\temp
}
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change). This command
-% is not documented, not supported, and doesn't work.
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
-
% @include FILE -- \input text of FILE.
%
\def\include{\parseargusing\filenamecatcodes\includezzz}
@@ -851,7 +930,6 @@ where each line of input produces a line of output.}
\makevalueexpandable % we want to expand any @value in FILE.
\turnoffactive % and allow special characters in the expansion
\indexnofonts % Allow `@@' and other weird things in file names.
- \wlog{texinfo.tex: doing @include of #1^^J}%
\edef\temp{\noexpand\input #1 }%
%
% This trickery is to read FILE outside of a group, in case it makes
@@ -1017,6 +1095,109 @@ where each line of input produces a line of output.}
}
+% @asis just yields its argument. Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}. So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+ \catcode`\_ = \active
+ \gdef\mathunderscore{%
+ \catcode`\_=\active
+ \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+ }
+}
+% Another complication: we want \\ (and @\) to output a \ character.
+% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
+% this is not advertised and we don't care. Texinfo does not
+% otherwise define @\.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+ \tex
+ \mathunderscore
+ \let\\ = \mathbackslash
+ \mathactive
+ % make the texinfo accent commands work in math mode
+ \let\"=\ddot
+ \let\'=\acute
+ \let\==\bar
+ \let\^=\hat
+ \let\`=\grave
+ \let\u=\breve
+ \let\v=\check
+ \let\~=\tilde
+ \let\dotaccent=\dot
+ $\finishmath
+}
+\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+ \catcode`^ = \active
+ \catcode`< = \active
+ \catcode`> = \active
+ \catcode`+ = \active
+ \catcode`' = \active
+ \gdef\mathactive{%
+ \let^ = \ptexhat
+ \let< = \ptexless
+ \let> = \ptexgtr
+ \let+ = \ptexplus
+ \let' = \ptexquoteright
+ }
+}
+
+% Some math mode symbols.
+\def\bullet{$\ptexbullet$}
+\def\geq{\ifmmode \ge\else $\ge$\fi}
+\def\leq{\ifmmode \le\else $\le$\fi}
+\def\minus{\ifmmode -\else $-$\fi}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in the cm
+% typewriter fonts as three actual period characters; on the other hand,
+% in other typewriter fonts three periods are wider than 1.5em. So do
+% whichever is larger.
+%
+\def\dots{%
+ \leavevmode
+ \setbox0=\hbox{...}% get width of three periods
+ \ifdim\wd0 > 1.5em
+ \dimen0 = \wd0
+ \else
+ \dimen0 = 1.5em
+ \fi
+ \hbox to \dimen0{%
+ \hskip 0pt plus.25fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \dots
+ \spacefactor=\endofsentencespacefactor
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
+
% @refill is a no-op.
\let\refill=\relax
@@ -1081,8 +1262,9 @@ where each line of input produces a line of output.}
\newif\ifpdfmakepagedest
% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set). So we test for \relax and 0 as well as being undefined.
-\ifx\pdfoutput\thisisundefined
+% can be set). So we test for \relax and 0 as well as \undefined,
+% borrowed from ifpdf.sty.
+\ifx\pdfoutput\undefined
\else
\ifx\pdfoutput\relax
\else
@@ -1097,24 +1279,50 @@ where each line of input produces a line of output.}
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
-%
-% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
-% related messages. The final outcome is that it is up to the TeX user
-% to double the backslashes and otherwise make the string valid, so
-% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to
-% do this reliably, so we use it.
-
-% #1 is a control sequence in which to do the replacements,
-% which we \xdef.
-\def\txiescapepdf#1{%
- \ifx\pdfescapestring\relax
- % No primitive available; should we give a warning or log?
- % Many times it won't matter.
- \else
- % The expandable \pdfescapestring primitive escapes parentheses,
- % backslashes, and other special chars.
- \xdef#1{\pdfescapestring{#1}}%
- \fi
+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
+% (and related messages, the final outcome is that it is up to the TeX
+% user to double the backslashes and otherwise make the string valid, so
+% that's what we do).
+
+% double active backslashes.
+%
+{\catcode`\@=0 \catcode`\\=\active
+ @gdef@activebackslashdouble{%
+ @catcode`@\=@active
+ @let\=@doublebackslash}
+}
+
+% To handle parens, we must adopt a different approach, since parens are
+% not active characters. hyperref.dtx (which has the same problem as
+% us) handles it with this amazing macro to replace tokens, with minor
+% changes for Texinfo. It is included here under the GPL by permission
+% from the author, Heiko Oberdiek.
+%
+% #1 is the tokens to replace.
+% #2 is the replacement.
+% #3 is the control sequence with the string.
+%
+\def\HyPsdSubst#1#2#3{%
+ \def\HyPsdReplace##1#1##2\END{%
+ ##1%
+ \ifx\\##2\\%
+ \else
+ #2%
+ \HyReturnAfterFi{%
+ \HyPsdReplace##2\END
+ }%
+ \fi
+ }%
+ \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
+}
+\long\def\HyReturnAfterFi#1\fi{\fi#1}
+
+% #1 is a control sequence in which to do the replacements.
+\def\backslashparens#1{%
+ \xdef#1{#1}% redefine it as its expansion; the definition is simply
+ % \lastnode when called from \setref -> \pdfmkdest.
+ \HyPsdSubst{(}{\realbackslash(}{#1}%
+ \HyPsdSubst{)}{\realbackslash)}{#1}%
}
\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
@@ -1176,31 +1384,29 @@ output) for that.)}
\def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
\def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .pdf, .png, .jpg (among
- % others). Let's try in that order, PDF first since if
- % someone has a scalable image, presumably better to use that than a
- % bitmap.
+ % pdftex (and the PDF format) support .png, .jpg, .pdf (among
+ % others). Let's try in that order.
\let\pdfimgext=\empty
\begingroup
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{pdf}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{png}%
\fi
\closein 1
\endgroup
@@ -1228,9 +1434,10 @@ output) for that.)}
% such as \, aren't expanded when present in a section title.
\indexnofonts
\turnoffactive
+ \activebackslashdouble
\makevalueexpandable
\def\pdfdestname{#1}%
- \txiescapepdf\pdfdestname
+ \backslashparens\pdfdestname
\safewhatsit{\pdfdest name{\pdfdestname} xyz}%
}}
%
@@ -1262,24 +1469,29 @@ output) for that.)}
% page number. We could generate a destination for the section
% text in the case where a section has no node, but it doesn't
% seem worth the trouble, since most documents are normally structured.
- \edef\pdfoutlinedest{#3}%
+ \def\pdfoutlinedest{#3}%
\ifx\pdfoutlinedest\empty
\def\pdfoutlinedest{#4}%
\else
- \txiescapepdf\pdfoutlinedest
+ % Doubled backslashes in the name.
+ {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
+ \backslashparens\pdfoutlinedest}%
\fi
%
- % Also escape PDF chars in the display string.
- \edef\pdfoutlinetext{#1}%
- \txiescapepdf\pdfoutlinetext
+ % Also double the backslashes in the display string.
+ {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
+ \backslashparens\pdfoutlinetext}%
%
\pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
}
%
\def\pdfmakeoutlines{%
\begingroup
+ % Thanh's hack / proper braces in bookmarks
+ \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
+ \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
+ %
% Read toc silently, to get counts of subentries for \pdfoutline.
- \def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
\def\thischapnum{##2}%
\def\thissecnum{0}%
@@ -1333,26 +1545,15 @@ output) for that.)}
% Latin 2 (0xea) gets translated to a | character. Info from
% Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
%
- % TODO this right, we have to translate 8-bit characters to
- % their "best" equivalent, based on the @documentencoding. Too
- % much work for too little return. Just use the ASCII equivalents
- % we use for the index sort strings.
- %
+ % xx to do this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Right
+ % now, I guess we'll just let the pdf reader have its way.
\indexnofonts
\setupdatafile
- % We can have normal brace characters in the PDF outlines, unlike
- % Texinfo index files. So set that up.
- \def\{{\lbracecharliteral}%
- \def\}{\rbracecharliteral}%
\catcode`\\=\active \otherbackslash
\input \tocreadfilename
\endgroup
}
- {\catcode`[=1 \catcode`]=2
- \catcode`{=\other \catcode`}=\other
- \gdef\lbracecharliteral[{]%
- \gdef\rbracecharliteral[}]%
- ]
%
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
@@ -1494,7 +1695,7 @@ output) for that.)}
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\thisisundefined \else
+\ifpdf \ifx\pdffontattr\undefined \else
\begingroup
\catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
\catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
@@ -1761,7 +1962,7 @@ end
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
% before you read in texinfo.tex.
-\ifx\fontprefix\thisisundefined
+\ifx\fontprefix\undefined
\def\fontprefix{cm}
\fi
% Support font families that don't use the same naming scheme as CM.
@@ -1904,8 +2105,8 @@ end
\font\reducedsy=cmsy10
\def\reducedecsize{1000}
-\textleading = 13.2pt % line spacing for 11pt CM
-\textfonts % reset the current fonts
+% reset the current fonts
+\textfonts
\rm
} % end of 11pt text font size definitions
@@ -2035,9 +2236,11 @@ end
\font\reducedsy=cmsy9
\def\reducedecsize{0900}
-\divide\parskip by 2 % reduce space between paragraphs
-\textleading = 12pt % line spacing for 10pt CM
-\textfonts % reset the current fonts
+% reduce space between paragraphs
+\divide\parskip by 2
+
+% reset the current fonts
+\textfonts
\rm
} % end of 10pt text font size definitions
@@ -2046,13 +2249,12 @@ end
% @fonttextsize 10
% (or 11) to redefine the text font size. pt is assumed.
%
-\def\xiword{11}
\def\xword{10}
-\def\xwordpt{10pt}
+\def\xiword{11}
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
- %\wlog{doing @fonttextsize \textsizearg}%
+ \wlog{doing @fonttextsize \textsizearg}%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
@@ -2106,7 +2308,7 @@ end
\let\tenttsl=\titlettsl
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}%
- \resetmathfonts \setleading{27pt}}
+ \resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts\rmisbold #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
@@ -2234,14 +2436,12 @@ end
% Markup style setup for left and right quotes.
\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp
- \csname markupsetuplq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
}
\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp
- \csname markupsetuprq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
}
@@ -2260,26 +2460,22 @@ end
\let\markupsetuplqcode \markupsetcodequoteleft
\let\markupsetuprqcode \markupsetcodequoteright
-%
\let\markupsetuplqexample \markupsetcodequoteleft
\let\markupsetuprqexample \markupsetcodequoteright
-%
-\let\markupsetuplqsamp \markupsetcodequoteleft
-\let\markupsetuprqsamp \markupsetcodequoteright
-%
\let\markupsetuplqverb \markupsetcodequoteleft
\let\markupsetuprqverb \markupsetcodequoteright
-%
\let\markupsetuplqverbatim \markupsetcodequoteleft
\let\markupsetuprqverbatim \markupsetcodequoteright
+\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-% Allow an option to not use regular directed right quote/apostrophe
-% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
-% The undirected quote is ugly, so don't make it the default, but it
-% works for pasting with more pdf viewers (at least evince), the
-% lilypond developers report. xpdf does work with the regular 0x27.
+% Allow an option to not replace quotes with a regular directed right
+% quote/apostrophe (char 0x27), but instead use the undirected quote
+% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
+% the default, but it works for pasting with more pdf viewers (at least
+% evince), the lilypond developers report. xpdf does work with the
+% regular 0x27.
%
\def\codequoteright{%
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
@@ -2303,84 +2499,33 @@ end
\else \char'22 \fi
}
-% Commands to set the quote options.
-%
-\parseargdef\codequoteundirected{%
- \def\temp{#1}%
- \ifx\temp\onword
- \expandafter\let\csname SETtxicodequoteundirected\endcsname
- = t%
- \else\ifx\temp\offword
- \expandafter\let\csname SETtxicodequoteundirected\endcsname
- = \relax
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
- \fi\fi
-}
-%
-\parseargdef\codequotebacktick{%
- \def\temp{#1}%
- \ifx\temp\onword
- \expandafter\let\csname SETtxicodequotebacktick\endcsname
- = t%
- \else\ifx\temp\offword
- \expandafter\let\csname SETtxicodequotebacktick\endcsname
- = \relax
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}%
- \fi\fi
-}
-
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
\def\noligaturesquoteleft{\relax\lq}
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
-% Font commands.
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
-% #1 is the font command (\sl or \it), #2 is the text to slant.
-% If we are in a monospaced environment, however, 1) always use \ttsl,
-% and 2) do not add an italic correction.
-\def\dosmartslant#1#2{%
- \ifusingtt
- {{\ttsl #2}\let\next=\relax}%
- {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
- \next
-}
-\def\smartslanted{\dosmartslant\sl}
-\def\smartitalic{\dosmartslant\it}
+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
+% unless the following character is such as not to need one.
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+ \ptexslash\fi\fi\fi}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
-% Output an italic correction unless \next (presumed to be the following
-% character) is such as not to need one.
-\def\smartitaliccorrection{%
- \ifx\next,%
- \else\ifx\next-%
- \else\ifx\next.%
- \else\ptexslash
- \fi\fi\fi
- \aftersmartic
-}
-
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
+% like \smartslanted except unconditionally uses \ttsl.
% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}}
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
% @cite is like \smartslanted except unconditionally use \sl. We never want
% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
-
-\def\aftersmartic{}
-\def\var#1{%
- \let\saveaftersmartic = \aftersmartic
- \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
- \smartslanted{#1}%
-}
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
\let\slanted=\smartslanted
+\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
@@ -2476,7 +2621,7 @@ end
\plainfrenchspacing
#1%
}%
- \null % reset spacefactor to 1000
+ \null
}
% We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2508,8 +2653,6 @@ end
}
}
-\def\codex #1{\tclose{#1}\endgroup}
-
\def\realdash{-}
\def\codedash{-\discretionary{}{}{}}
\def\codeunder{%
@@ -2523,6 +2666,7 @@ end
\discretionary{}{}{}}%
{\_}%
}
+\def\codex #1{\tclose{#1}\endgroup}
% An additional complication: the above will allow breaks after, e.g.,
% each of the four underscores in __typeof__. This is undesirable in
@@ -2542,156 +2686,10 @@ end
\allowcodebreaksfalse
\else
\errhelp = \EMsimple
- \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
+ \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
\fi\fi
}
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url.
-% (This \urefnobreak definition isn't used now, leaving it for a while
-% for comparison.)
-\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
-\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
-
-% This \urefbreak definition is the active one.
-\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
-\let\uref=\urefbreak
-\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
-\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \urefcode{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
-
-% Allow line breaks around only a few characters (only).
-\def\urefcatcodes{%
- \catcode\ampChar=\active \catcode\dotChar=\active
- \catcode\hashChar=\active \catcode\questChar=\active
- \catcode\slashChar=\active
-}
-{
- \urefcatcodes
- %
- \global\def\urefcode{\begingroup
- \setupmarkupstyle{code}%
- \urefcatcodes
- \let&\urefcodeamp
- \let.\urefcodedot
- \let#\urefcodehash
- \let?\urefcodequest
- \let/\urefcodeslash
- \codex
- }
- %
- % By default, they are just regular characters.
- \global\def&{\normalamp}
- \global\def.{\normaldot}
- \global\def#{\normalhash}
- \global\def?{\normalquest}
- \global\def/{\normalslash}
-}
-
-% we put a little stretch before and after the breakable chars, to help
-% line breaking of long url's. The unequal skips make look better in
-% cmtt at least, especially for dots.
-\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
-\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
-%
-\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
-\def\urefcodedot{\urefprestretch .\urefpoststretch}
-\def\urefcodehash{\urefprestretch \#\urefpoststretch}
-\def\urefcodequest{\urefprestretch ?\urefpoststretch}
-\def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
-{
- \catcode`\/=\active
- \global\def\urefcodeslashfinish{%
- \urefprestretch \slashChar
- % Allow line break only after the final / in a sequence of
- % slashes, to avoid line break between the slashes in http://.
- \ifx\next/\else \urefpoststretch \fi
- }
-}
-
-% One more complication: by default we'll break after the special
-% characters, but some people like to break before the special chars, so
-% allow that. Also allow no breaking at all, for manual control.
-%
-\parseargdef\urefbreakstyle{%
- \def\txiarg{#1}%
- \ifx\txiarg\wordnone
- \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
- \else\ifx\txiarg\wordbefore
- \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
- \else\ifx\txiarg\wordafter
- \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
- \fi\fi\fi
-}
-\def\wordafter{after}
-\def\wordbefore{before}
-\def\wordnone{none}
-
-\urefbreakstyle after
-
-% @url synonym for @uref, since that's how everyone uses it.
-%
-\let\url=\uref
-
-% rms does not like angle brackets --karl, 17may97.
-% So now @email is just like @uref, unless we are pdf.
-%
-%\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
- \def\email#1{\doemail#1,,\finish}
- \def\doemail#1,#2,#3\finish{\begingroup
- \unsepspaces
- \pdfurl{mailto:#1}%
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
- \endlink
- \endgroup}
-\else
- \let\email=\uref
-\fi
-
% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
@@ -2709,7 +2707,7 @@ end
\gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
\else
\errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
+ \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
\fi\fi\fi
}
\def\worddistinct{distinct}
@@ -2737,6 +2735,55 @@ end
\parseargdef\clickstyle{\def\click{#1}}
\def\click{\arrow}
+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
+% second argument specifying the text to display and an optional third
+% arg as text to display instead of (rather than in addition to) the url
+% itself. First (mandatory) arg is the url. Perhaps eventually put in
+% a hypertex \special here.
+%
+\def\uref#1{\douref #1,,,\finish}
+\def\douref#1,#2,#3,#4\finish{\begingroup
+ \unsepspaces
+ \pdfurl{#1}%
+ \setbox0 = \hbox{\ignorespaces #3}%
+ \ifdim\wd0 > 0pt
+ \unhbox0 % third arg given, show only that
+ \else
+ \setbox0 = \hbox{\ignorespaces #2}%
+ \ifdim\wd0 > 0pt
+ \ifpdf
+ \unhbox0 % PDF: 2nd arg given, show only it
+ \else
+ \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+ \fi
+ \else
+ \code{#1}% only url given, so show it
+ \fi
+ \fi
+ \endlink
+\endgroup}
+
+% @url synonym for @uref, since that's how everyone uses it.
+%
+\let\url=\uref
+
+% rms does not like angle brackets --karl, 17may97.
+% So now @email is just like @uref, unless we are pdf.
+%
+%\def\email#1{\angleleft{\tt #1}\angleright}
+\ifpdf
+ \def\email#1{\doemail#1,,\finish}
+ \def\doemail#1,#2,#3\finish{\begingroup
+ \unsepspaces
+ \pdfurl{mailto:#1}%
+ \setbox0 = \hbox{\ignorespaces #2}%
+ \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+ \endlink
+ \endgroup}
+\else
+ \let\email=\uref
+\fi
+
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
@@ -2758,7 +2805,6 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
- \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
@@ -2771,219 +2817,10 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
- \null % reset \spacefactor=1000
-}
-
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
- \catcode`\_ = \active
- \gdef\mathunderscore{%
- \catcode`\_=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
- }
-}
-% Another complication: we want \\ (and @\) to output a math (or tt) \.
-% FYI, plain.tex uses \\ as a temporary control sequence (for no
-% particular reason), but this is not advertised and we don't care.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
- \tex
- \mathunderscore
- \let\\ = \mathbackslash
- \mathactive
- % make the texinfo accent commands work in math mode
- \let\"=\ddot
- \let\'=\acute
- \let\==\bar
- \let\^=\hat
- \let\`=\grave
- \let\u=\breve
- \let\v=\check
- \let\~=\tilde
- \let\dotaccent=\dot
- $\finishmath
-}
-\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
- \catcode`^ = \active
- \catcode`< = \active
- \catcode`> = \active
- \catcode`+ = \active
- \catcode`' = \active
- \gdef\mathactive{%
- \let^ = \ptexhat
- \let< = \ptexless
- \let> = \ptexgtr
- \let+ = \ptexplus
- \let' = \ptexquoteright
- }
-}
-
-% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
-% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
-% except specified as a normal braced arg, so no newlines to worry about.
-%
-\def\outfmtnametex{tex}
-%
-\def\inlinefmt#1{\doinlinefmt #1,\finish}
-\def\doinlinefmt#1,#2,\finish{%
- \def\inlinefmtname{#1}%
- \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
-}
-% For raw, must switch into @tex before parsing the argument, to avoid
-% setting catcodes prematurely. Doing it this way means that, for
-% example, @inlineraw{html, foo{bar} gets a parse error instead of being
-% ignored. But this isn't important because if people want a literal
-% *right* brace they would have to use a command anyway, so they may as
-% well use a command to get a left brace too. We could re-use the
-% delimiter character idea from \verb, but it seems like overkill.
-%
-\def\inlineraw{\tex \doinlineraw}
-\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
-\def\doinlinerawtwo#1,#2,\finish{%
- \def\inlinerawname{#1}%
- \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
- \endgroup % close group opened by \tex.
}
\message{glyphs,}
-% and logos.
-
-% @@ prints an @, as does @atchar{}.
-\def\@{\char64 }
-\let\atchar=\@
-
-% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
-% Unless we're in typewriter, use \ecfont because the CM text fonts do
-% not have braces, and we don't want to switch into math.
-\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
-\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace \let\lbracechar=\{
-\let\}=\myrbrace \let\rbracechar=\}
-\begingroup
- % Definitions to produce \{ and \} commands for indices,
- % and @{ and @} for the aux/toc files.
- \catcode`\{ = \other \catcode`\} = \other
- \catcode`\[ = 1 \catcode`\] = 2
- \catcode`\! = 0 \catcode`\\ = \other
- !gdef!lbracecmd[\{]%
- !gdef!rbracecmd[\}]%
- !gdef!lbraceatcmd[@{]%
- !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \ptexc
-\let\dotaccent = \ptexdot
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \ptext
-\let\ubaraccent = \ptexb
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
- \def\temp{#1}%
- \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
- \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
- \else \errmessage{@dotless can be used only with i or j}%
- \fi\fi
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence. (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo. Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
- L\kern-.36em
- {\setbox0=\hbox{T}%
- \vbox to \ht0{\hbox{%
- \ifx\textnominalsize\xwordpt
- % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
- % Revert to plain's \scriptsize, which is 7pt.
- \count255=\the\fam $\fam\count255 \scriptstyle A$%
- \else
- % For 11pt, we can use our lllsize.
- \selectfonts\lllsize A%
- \fi
- }%
- \vss
- }}%
- \kern-.15em
- \TeX
-}
-
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in the cm
-% typewriter fonts as three actual period characters; on the other hand,
-% in other typewriter fonts three periods are wider than 1.5em. So do
-% whichever is larger.
-%
-\def\dots{%
- \leavevmode
- \setbox0=\hbox{...}% get width of three periods
- \ifdim\wd0 > 1.5em
- \dimen0 = \wd0
- \else
- \dimen0 = 1.5em
- \fi
- \hbox to \dimen0{%
- \hskip 0pt plus.25fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \dots
- \spacefactor=\endofsentencespacefactor
-}
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
@@ -3005,7 +2842,7 @@ end
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -3154,7 +2991,7 @@ end
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
%
-\ifx\Orb\thisisundefined
+\ifx\Orb\undefined
\def\Orb{\mathhexbox20D}
\fi
@@ -3182,9 +3019,8 @@ end
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\parseargdef\shorttitlepage{%
- \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+ \endgroup\page\hbox{}\page}
\envdef\titlepage{%
% Open one extra group, as we want to close it in the middle of \Etitlepage.
@@ -3244,7 +3080,7 @@ end
\finishedtitlepagetrue
}
-% Macros to be used within @titlepage:
+%%% Macros to be used within @titlepage:
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
@@ -3277,7 +3113,7 @@ end
}
-% Set up page headings and footings.
+%%% Set up page headings and footings.
\let\thispage=\folio
@@ -3371,14 +3207,10 @@ end
\def\headings #1 {\csname HEADINGS#1\endcsname}
-\def\headingsoff{% non-global headings elimination
- \evenheadline={\hfil}\evenfootline={\hfil}%
- \oddheadline={\hfil}\oddfootline={\hfil}%
-}
-
-\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
-\HEADINGSoff % it's the default
-
+\def\HEADINGSoff{%
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
% When we turn headings on, set the page number to 1.
% For double-sided printing, put current file name in lower left corner,
% chapter name on inside top of right hand pages, document
@@ -3429,7 +3261,7 @@ end
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\thisisundefined
+\ifx\today\undefined
\def\today{%
\number\day\space
\ifcase\month
@@ -3490,7 +3322,7 @@ end
\begingroup
\advance\leftskip by-\tableindent
\advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil\relax
+ \advance\rightskip by0pt plus1fil
\leavevmode\unhbox0\par
\endgroup
%
@@ -3976,18 +3808,18 @@ end
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
-% Test to see if parskip is larger than space between lines of
-% table. If not, do nothing.
-% If so, set to same dimension as multitablelinespace.
+%% Test to see if parskip is larger than space between lines of
+%% table. If not, do nothing.
+%% If so, set to same dimension as multitablelinespace.
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
- % than skip between lines in the table.
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+ %% than skip between lines in the table.
\fi%
\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
- % than skip between lines in the table.
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+ %% than skip between lines in the table.
\fi}
@@ -4302,14 +4134,11 @@ end
\def\@{@}% change to @@ when we switch to @ as escape char in index files.
\def\ {\realbackslash\space }%
%
- % Need these unexpandable (because we define \tt as a dummy)
- % definitions when @{ or @} appear in index entry text. Also, more
- % complicated, when \tex is in effect and \{ is a \delimiter again.
- % We can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters. Perhaps we
- % should define @lbrace and @rbrace commands a la @comma.
- \def\{{{\tt\char123}}%
- \def\}{{\tt\char125}}%
+ % Need these in case \tex is in effect and \{ is a \delimiter again.
+ % But can't use \lbracecmd and \rbracecmd because texindex assumes
+ % braces and backslashes are used only as delimiters.
+ \let\{ = \mylbrace
+ \let\} = \myrbrace
%
% I don't entirely understand this, but when an index entry is
% generated from a macro call, the \endinput which \scanmacro inserts
@@ -4362,7 +4191,7 @@ end
\def\commondummies{%
%
% \definedummyword defines \#1 as \string\#1\space, thus effectively
- % preventing its expansion. This is used only for control words,
+ % preventing its expansion. This is used only for control% words,
% not control letters, because the \space would be incorrect for
% control characters, but is needed to separate the control word
% from whatever follows.
@@ -4381,7 +4210,6 @@ end
\commondummiesnofonts
%
\definedummyletter\_%
- \definedummyletter\-%
%
% Non-English letters.
\definedummyword\AA
@@ -4418,24 +4246,20 @@ end
\definedummyword\TeX
%
% Assorted special characters.
- \definedummyword\arrow
\definedummyword\bullet
\definedummyword\comma
\definedummyword\copyright
\definedummyword\registeredsymbol
\definedummyword\dots
\definedummyword\enddots
- \definedummyword\entrybreak
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
- \definedummyword\expansion
- \definedummyword\geq
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
- \definedummyword\leq
+ \definedummyword\expansion
\definedummyword\minus
\definedummyword\ogonek
\definedummyword\pounds
@@ -4492,24 +4316,19 @@ end
\definedummyword\b
\definedummyword\i
\definedummyword\r
- \definedummyword\sansserif
\definedummyword\sc
- \definedummyword\slanted
\definedummyword\t
%
% Commands that take arguments.
\definedummyword\acronym
- \definedummyword\anchor
\definedummyword\cite
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
- \definedummyword\dmn
\definedummyword\email
\definedummyword\emph
\definedummyword\env
\definedummyword\file
- \definedummyword\indicateurl
\definedummyword\kbd
\definedummyword\key
\definedummyword\math
@@ -4537,7 +4356,7 @@ end
\def\definedummyaccent##1{\let##1\asis}%
% We can just ignore other control letters.
\def\definedummyletter##1{\let##1\empty}%
- % All control words become @asis by default; overrides below.
+ % Hopefully, all control words can become @asis.
\let\definedummyword\definedummyaccent
%
\commondummiesnofonts
@@ -4549,14 +4368,8 @@ end
%
\def\ { }%
\def\@{@}%
+ % how to handle braces?
\def\_{\normalunderscore}%
- \def\-{}% @- shouldn't affect sorting
- %
- % Unfortunately, texindex is not prepared to handle braces in the
- % content at all. So for index sorting, we map @{ and @} to strings
- % starting with |, since that ASCII character is between ASCII { and }.
- \def\{{|a}%
- \def\}{|b}%
%
% Non-English letters.
\def\AA{AA}%
@@ -4584,7 +4397,6 @@ end
%
% Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.)
- \def\arrow{->}%
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
@@ -4594,12 +4406,10 @@ end
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
- \def\geq{>=}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
- \def\leq{<=}%
\def\minus{-}%
\def\point{.}%
\def\pounds{pounds}%
@@ -4614,9 +4424,6 @@ end
\def\result{=>}%
\def\textdegree{o}%
%
- \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
- \else \indexlquoteignore \fi
- %
% We need to get rid of all macros, leaving only the arguments (if present).
% Of course this is not nearly correct, but it is the best we can do for now.
% makeinfo does not expand macros in the argument to @deffn, which ends up
@@ -4630,11 +4437,6 @@ end
\macrolist
}
-% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
-% ignore left quotes in the sort term.
-{\catcode`\`=\active
- \gdef\indexlquoteignore{\let`=\empty}}
-
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
@@ -4892,6 +4694,7 @@ end
% But this freezes the catcodes in the argument, and can cause problems to
% @code, which sets - active. This problem was fixed by a kludge---
% ``-'' was active throughout whole index, but this isn't really right.
+%
% The right solution is to prevent \entry from swallowing the whole text.
% --kasal, 21nov03
\def\entry{%
@@ -4928,17 +4731,10 @@ end
% columns.
\vskip 0pt plus1pt
%
- % When reading the text of entry, convert explicit line breaks
- % from @* into spaces. The user might give these in long section
- % titles, for instance.
- \def\*{\unskip\space\ignorespaces}%
- \def\entrybreak{\hfil\break}%
- %
% Swallow the left brace of the text (first parameter):
\afterassignment\doentry
\let\temp =
}
-\def\entrybreak{\unskip\space\ignorespaces}%
\def\doentry{%
\bgroup % Instead of the swallowed brace.
\noindent
@@ -5171,22 +4967,7 @@ end
\message{sectioning,}
% Chapters, sections, etc.
-% Let's start with @part.
-\outer\parseargdef\part{\partzzz{#1}}
-\def\partzzz#1{%
- \chapoddpage
- \null
- \vskip.3\vsize % move it down on the page a bit
- \begingroup
- \noindent \titlefonts\rmisbold #1\par % the text
- \let\lastnode=\empty % no node to associate with
- \writetocentry{part}{#1}{}% but put it in the toc
- \headingsoff % no headline or footline on the part page
- \chapoddpage
- \endgroup
-}
-
-% \unnumberedno is an oxymoron. But we count the unnumbered
+% \unnumberedno is an oxymoron, of course. But we count the unnumbered
% sections so that we can refer to them unambiguously in the pdf
% outlines by their "section number". We avoid collisions with chapter
% numbers by starting them at 10000. (If a document ever has 10000
@@ -5265,8 +5046,8 @@ end
\chardef\maxseclevel = 3
%
% A numbered section within an unnumbered changes to unnumbered too.
-% To achieve this, remember the "biggest" unnum. sec. we are currently in:
-\chardef\unnlevel = \maxseclevel
+% To achive this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unmlevel = \maxseclevel
%
% Trace whether the current chapter is an appendix or not:
% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
@@ -5291,8 +5072,8 @@ end
% The heading type:
\def\headtype{#1}%
\if \headtype U%
- \ifnum \absseclevel < \unnlevel
- \chardef\unnlevel = \absseclevel
+ \ifnum \absseclevel < \unmlevel
+ \chardef\unmlevel = \absseclevel
\fi
\else
% Check for appendix sections:
@@ -5304,10 +5085,10 @@ end
\fi\fi
\fi
% Check for numbered within unnumbered:
- \ifnum \absseclevel > \unnlevel
+ \ifnum \absseclevel > \unmlevel
\def\headtype{U}%
\else
- \chardef\unnlevel = 3
+ \chardef\unmlevel = 3
\fi
\fi
% Now print the heading:
@@ -5393,8 +5174,7 @@ end
\global\let\subsubsection = \appendixsubsubsec
}
-% normally unnmhead0 calls unnumberedzzz:
-\outer\parseargdef\unnumbered{\unnmhead0{#1}}
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
@@ -5438,47 +5218,40 @@ end
\let\top\unnumbered
% Sections.
-%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-% normally calls appendixsectionzzz:
-\outer\parseargdef\appendixsection{\apphead1{#1}}
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
\def\appendixsectionzzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
\let\appendixsec\appendixsection
-% normally calls unnumberedseczzz:
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-%
-% normally calls numberedsubseczzz:
-\outer\parseargdef\numberedsubsec{\numhead2{#1}}
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
\def\numberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-% normally calls appendixsubseczzz:
-\outer\parseargdef\appendixsubsec{\apphead2{#1}}
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
\def\appendixsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno}%
}
-% normally calls unnumberedsubseczzz:
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
@@ -5486,25 +5259,21 @@ end
}
% Subsubsections.
-%
-% normally numberedsubsubseczzz:
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
\def\numberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered}%
{\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-% normally appendixsubsubseczzz:
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
\def\appendixsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-% normally unnumberedsubsubseczzz:
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
@@ -5554,13 +5323,14 @@ end
% (including whitespace, linebreaking, etc. around it),
% given all the information in convenient, parsed form.
-% Args are the skip and penalty (usually negative)
+%%% Args are the skip and penalty (usually negative)
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+%%% Define plain chapter starts, and page on/off switching for it
% Parameter controlling skip before chapter headings (if needed)
+
\newskip\chapheadingskip
-% Define plain chapter starts, and page on/off switching for it.
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
% Because \domark is called before \chapoddpage, the filler page will
@@ -5570,8 +5340,9 @@ end
\chappager
\ifodd\pageno \else
\begingroup
- \headingsoff
- \null
+ \evenheadline={\hfil}\evenfootline={\hfil}%
+ \oddheadline={\hfil}\oddfootline={\hfil}%
+ \hbox to 0pt{}%
\chappager
\endgroup
\fi
@@ -5763,8 +5534,6 @@ end
%
\def\sectionheading#1#2#3#4{%
{%
- \checkenv{}% should not be in an environment.
- %
% Switch to the right set of fonts.
\csname #2fonts\endcsname \rmisbold
%
@@ -5882,6 +5651,7 @@ end
% This is purely so the last item on the list is a known \penalty >
% 10000. This is so \startdefun can avoid allowing breakpoints after
% section headings. Otherwise, it would insert a valid breakpoint between:
+ %
% @section sec-whatever
% @deffn def-whatever
\penalty 10001
@@ -6015,7 +5785,6 @@ end
\def\summarycontents{%
\startcontents{\putwordShortTOC}%
%
- \let\partentry = \shortpartentry
\let\numchapentry = \shortchapentry
\let\appentry = \shortchapentry
\let\unnchapentry = \shortunnchapentry
@@ -6071,19 +5840,6 @@ end
% The last argument is the page number.
% The arguments in between are the chapter number, section number, ...
-% Parts, in the main contents. Replace the part number, which doesn't
-% exist, with an empty box. Let's hope all the numbers have the same width.
-% Also ignore the page number, which is conventionally not printed.
-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
-\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
-%
-% Parts, in the short toc.
-\def\shortpartentry#1#2#3#4{%
- \penalty-300
- \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
- \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
-}
-
% Chapters, in the main contents.
\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
%
@@ -6173,9 +5929,9 @@ end
\message{environments,}
% @foo ... @end foo.
-% @tex ... @end tex escapes into raw TeX temporarily.
+% @tex ... @end tex escapes into raw Tex temporarily.
% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain @ character.
+% But \@ or @@ will get a plain tex @ character.
\envdef\tex{%
\setupmarkupstyle{tex}%
@@ -6192,10 +5948,6 @@ end
\catcode`\'=\other
\escapechar=`\\
%
- % ' is active in math mode (mathcode"8000). So reset it, and all our
- % other math active characters (just in case), to plain's definitions.
- \mathactive
- %
\let\b=\ptexb
\let\bullet=\ptexbullet
\let\c=\ptexc
@@ -6299,12 +6051,6 @@ end
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
% Flag to tell @lisp, etc., not to narrow margin.
\let\nonarrowing = t%
- %
- % If this cartouche directly follows a sectioning command, we need the
- % \parskip glue (backspaced over by default) or the cartouche can
- % collide with the section heading.
- \ifnum\lastpenalty>10000 \vskip\parskip \fi
- %
\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
@@ -6318,7 +6064,7 @@ end
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
- \comment % For explanation, see the end of def\group.
+ \comment % For explanation, see the end of \def\group.
}
\def\Ecartouche{%
\ifhmode\par\fi
@@ -6404,42 +6150,41 @@ end
}
% We often define two environments, @foo and @smallfoo.
-% Let's do it in one command. #1 is the env name, #2 the definition.
-\def\makedispenvdef#1#2{%
- \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}%
- \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}%
+% Let's do it by one command:
+\def\makedispenv #1#2{
+ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+ \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
\expandafter\let\csname E#1\endcsname \afterenvbreak
\expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
-% Define two environment synonyms (#1 and #2) for an environment.
-\def\maketwodispenvdef#1#2#3{%
- \makedispenvdef{#1}{#3}%
- \makedispenvdef{#2}{#3}%
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+ \makedispenv{#1}{#3}
+ \makedispenv{#2}{#3}
}
-%
-% @lisp: indented, narrowed, typewriter font;
-% @example: same as @lisp.
+
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
%
% @smallexample and @smalllisp: use smaller fonts.
% Originally contributed by Pavel@xerox.
%
-\maketwodispenvdef{lisp}{example}{%
+\maketwodispenvs {lisp}{example}{%
\nonfillstart
\tt\setupmarkupstyle{example}%
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+ \gobble % eat return
}
% @display/@smalldisplay: same as @lisp except keep current font.
%
-\makedispenvdef{display}{%
+\makedispenv {display}{%
\nonfillstart
\gobble
}
% @format/@smallformat: same as @display except don't narrow margins.
%
-\makedispenvdef{format}{%
+\makedispenv{format}{%
\let\nonarrowing = t%
\nonfillstart
\gobble
@@ -6458,7 +6203,7 @@ end
\envdef\flushright{%
\let\nonarrowing = t%
\nonfillstart
- \advance\leftskip by 0pt plus 1fill\relax
+ \advance\leftskip by 0pt plus 1fill
\gobble
}
\let\Eflushright = \afterenvbreak
@@ -6493,8 +6238,6 @@ end
% we're doing normal filling. So, when using \aboveenvbreak and
% \afterenvbreak, temporarily make \parskip 0.
%
-\makedispenvdef{quotation}{\quotationstart}
-%
\def\quotationstart{%
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
\parindent=0pt
@@ -6510,18 +6253,28 @@ end
\parsearg\quotationlabel
}
+\envdef\quotation{%
+ \setnormaldispenv
+ \quotationstart
+}
+
+\envdef\smallquotation{%
+ \setsmalldispenv
+ \quotationstart
+}
+\let\Esmallquotation = \Equotation
+
% We have retained a nonzero parskip for the environment, since we're
% doing normal filling.
%
\def\Equotation{%
\par
- \ifx\quotationauthor\thisisundefined\else
+ \ifx\quotationauthor\undefined\else
% indent a bit.
\leftline{\kern 2\leftskip \sl ---\quotationauthor}%
\fi
{\parskip=0pt \afterenvbreak}%
}
-\def\Esmallquotation{\Equotation}
% If we're given an argument, typeset it in bold with a colon after.
\def\quotationlabel#1{%
@@ -6578,28 +6331,21 @@ end
% Setup for the @verbatim environment
%
-% Real tab expansion.
+% Real tab expansion
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
-% We typeset each line of the verbatim in an \hbox, so we can handle
-% tabs. The \global is in case the verbatim line starts with an accent,
-% or some other command that starts with a begin-group. Otherwise, the
-% entire \verbbox would disappear at the corresponding end-group, before
-% it is typeset. Meanwhile, we can't have nested verbatim commands
-% (can we?), so the \global won't be overwriting itself.
-\newbox\verbbox
-\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
+\def\starttabbox{\setbox0=\hbox\bgroup}
%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
\catcode`\^^I=\active
\def^^I{\leavevmode\egroup
- \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab
- \divide\dimen\verbbox by\tabw
- \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
- \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw
- \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox
+ \dimen0=\wd0 % the width so far, or since the previous tab
+ \divide\dimen0 by\tabw
+ \multiply\dimen0 by\tabw % compute previous multiple of \tabw
+ \advance\dimen0 by\tabw % advance to next multiple of \tabw
+ \wd0=\dimen0 \box0 \starttabbox
}%
}
\endgroup
@@ -6608,16 +6354,15 @@ end
\def\setupverbatim{%
\let\nonarrowing = t%
\nonfillstart
- \tt % easiest (and conventionally used) font for verbatim
- % The \leavevmode here is for blank lines. Otherwise, we would
- % never \starttabox and the \egroup would end verbatim mode.
- \def\par{\leavevmode\egroup\box\verbbox\endgraf}%
+ % Easiest (and conventionally used) font for verbatim
+ \tt
+ \def\par{\leavevmode\egroup\box0\endgraf}%
\tabexpand
\setupmarkupstyle{verbatim}%
% Respect line breaks,
% print special symbols as themselves, and
- % make each space count.
- % Must do in this order:
+ % make each space count
+ % must do in this order:
\obeylines \uncatcodespecials \sepspaces
\everypar{\starttabbox}%
}
@@ -6674,7 +6419,6 @@ end
\makevalueexpandable
\setupverbatim
\indexnofonts % Allow `@@' and other weird things in file names.
- \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
\input #1
\afterenvbreak
}%
@@ -6724,7 +6468,7 @@ end
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
- % As a further refinement, we avoid "club" headers by signalling
+ % As a minor refinement, we avoid "club" headers by signalling
% with penalty of 10003 after the very first @deffn in the
% sequence (see above), and penalty of 10002 after any following
% @def command.
@@ -6761,7 +6505,7 @@ end
#1#2 \endheader
% common ending:
\interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil\relax
+ \advance\rightskip by 0pt plus 1fil
\endgraf
\nobreak\vskip -\parskip
\penalty\defunpenalty % signal to \startdefun and \dodefunx
@@ -6791,36 +6535,13 @@ end
\def\domakedefun#1#2#3{%
\envdef#1{%
\startdefun
- \doingtypefnfalse % distinguish typed functions from all else
\parseargusing\activeparens{\printdefunline#3}%
}%
\def#2{\dodefunx#1}%
\def#3%
}
-\newif\ifdoingtypefn % doing typed function?
-\newif\ifrettypeownline % typeset return type on its own line?
-
-% @deftypefnnewline on|off says whether the return type of typed functions
-% are printed on their own line. This affects @deftypefn, @deftypefun,
-% @deftypeop, and @deftypemethod.
-%
-\parseargdef\deftypefnnewline{%
- \def\temp{#1}%
- \ifx\temp\onword
- \expandafter\let\csname SETtxideftypefnnl\endcsname
- = \empty
- \else\ifx\temp\offword
- \expandafter\let\csname SETtxideftypefnnl\endcsname
- = \relax
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @txideftypefnnl value `\temp',
- must be on|off}%
- \fi\fi
-}
-
-% Untyped functions:
+%%% Untyped functions:
% @deffn category name args
\makedefun{deffn}{\deffngeneral{}}
@@ -6839,7 +6560,7 @@ end
\defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-% Typed functions:
+%%% Typed functions:
% @deftypefn category type name args
\makedefun{deftypefn}{\deftypefngeneral{}}
@@ -6854,11 +6575,10 @@ end
%
\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
\dosubind{fn}{\code{#4}}{#1}%
- \doingtypefntrue
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% Typed variables:
+%%% Typed variables:
% @deftypevr category type var args
\makedefun{deftypevr}{\deftypecvgeneral{}}
@@ -6876,7 +6596,7 @@ end
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% Untyped variables:
+%%% Untyped variables:
% @defvr category var args
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
@@ -6887,8 +6607,7 @@ end
% \defcvof {category of}class var args
\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-% Types:
-
+%%% Type:
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
\doind{tp}{\code{#2}}%
@@ -6916,49 +6635,25 @@ end
% We are followed by (but not passed) the arguments, if any.
%
\def\defname#1#2#3{%
- \par
% Get the values of \leftskip and \rightskip as they were outside the @def...
\advance\leftskip by -\defbodyindent
%
- % Determine if we are typesetting the return type of a typed function
- % on a line by itself.
- \rettypeownlinefalse
- \ifdoingtypefn % doing a typed function specifically?
- % then check user option for putting return type on its own line:
- \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
- \rettypeownlinetrue
- \fi
- \fi
- %
- % How we'll format the category name. Putting it in brackets helps
+ % How we'll format the type name. Putting it in brackets helps
% distinguish it from the body text that may end up on the next line
% just below it.
\def\temp{#1}%
\setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
%
- % Figure out line sizes for the paragraph shape. We'll always have at
- % least two.
- \tempnum = 2
- %
+ % Figure out line sizes for the paragraph shape.
% The first line needs space for \box0; but if \rightskip is nonzero,
% we need only space for the part of \box0 which exceeds it:
\dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
- %
- % If doing a return type on its own line, we'll have another line.
- \ifrettypeownline
- \advance\tempnum by 1
- \def\maybeshapeline{0in \hsize}%
- \else
- \def\maybeshapeline{}%
- \fi
- %
% The continuations:
\dimen2=\hsize \advance\dimen2 by -\defargsindent
+ % (plain.tex says that \dimen1 should be used only as global.)
+ \parshape 2 0in \dimen0 \defargsindent \dimen2
%
- % The final paragraph shape:
- \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2
- %
- % Put the category name at the right margin.
+ % Put the type name to the right margin.
\noindent
\hbox to 0pt{%
\hfil\box0 \kern-\hsize
@@ -6980,16 +6675,8 @@ end
% . this still does not fix the ?` and !` ligatures, but so far no
% one has made identifiers using them :).
\df \tt
- \def\temp{#2}% text of the return type
- \ifx\temp\empty\else
- \tclose{\temp}% typeset the return type
- \ifrettypeownline
- % put return type on its own line; prohibit line break following:
- \hfil\vadjust{\nobreak}\break
- \else
- \space % type on same line, so just followed by a space
- \fi
- \fi % no return type
+ \def\temp{#2}% return value type
+ \ifx\temp\empty\else \tclose{\temp} \fi
#3% output function name
}%
{\rm\enskip}% hskip 0.5 em of \tenrm
@@ -7107,7 +6794,7 @@ end
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\thisisundefined
+\ifx\eTeXversion\undefined
\newwrite\macscribble
\def\scantokens#1{%
\toks0={#1}%
@@ -7118,30 +6805,25 @@ end
}
\fi
-\def\scanmacro#1{\begingroup
- \newlinechar`\^^M
- \let\xeatspaces\eatspaces
- %
- % Undo catcode changes of \startcontents and \doprintindex
- % When called from @insertcopying or (short)caption, we need active
- % backslash to get it printed correctly. Previously, we had
- % \catcode`\\=\other instead. We'll see whether a problem appears
- % with macro expansion. --kasal, 19aug04
- \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
- %
- % ... and for \example:
- \spaceisspace
- %
- % The \empty here causes a following catcode 5 newline to be eaten as
- % part of reading whitespace after a control sequence. It does not
- % eat a catcode 13 newline. There's no good way to handle the two
- % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
- % would then have different behavior). See the Macro Details node in
- % the manual for the workaround we recommend for macros and
- % line-oriented commands.
- %
- \scantokens{#1\empty}%
-\endgroup}
+\def\scanmacro#1{%
+ \begingroup
+ \newlinechar`\^^M
+ \let\xeatspaces\eatspaces
+ % Undo catcode changes of \startcontents and \doprintindex
+ % When called from @insertcopying or (short)caption, we need active
+ % backslash to get it printed correctly. Previously, we had
+ % \catcode`\\=\other instead. We'll see whether a problem appears
+ % with macro expansion. --kasal, 19aug04
+ \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+ % ... and \example
+ \spaceisspace
+ %
+ % Append \endinput to make sure that TeX does not see the ending newline.
+ % I've verified that it is necessary both for e-TeX and for ordinary TeX
+ % --kasal, 29nov03
+ \scantokens{#1\endinput}%
+ \endgroup
+}
\def\scanexp#1{%
\edef\temp{\noexpand\scanmacro{#1}}%
@@ -7195,18 +6877,17 @@ end
% Macro bodies are absorbed as an argument in a context where
% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \
-% to recognize macro arguments; this is the job of \mbodybackslash.
-%
+% (as in normal texinfo). It is necessary to change the definition of \.
+
% Non-ASCII encodings make 8-bit characters active, so un-activate
% them to avoid their expansion. Must do this non-globally, to
% confine the change to the current group.
-%
+
% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
+% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
-%
-\def\scanctxt{% used as subroutine
+
+\def\scanctxt{%
\catcode`\"=\other
\catcode`\+=\other
\catcode`\<=\other
@@ -7219,13 +6900,13 @@ end
\ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
}
-\def\scanargctxt{% used for copying and captions, not macros.
+\def\scanargctxt{%
\scanctxt
\catcode`\\=\other
\catcode`\^^M=\other
}
-\def\macrobodyctxt{% used for @macro definitions
+\def\macrobodyctxt{%
\scanctxt
\catcode`\{=\other
\catcode`\}=\other
@@ -7233,56 +6914,32 @@ end
\usembodybackslash
}
-\def\macroargctxt{% used when scanning invocations
+\def\macroargctxt{%
\scanctxt
- \catcode`\\=0
+ \catcode`\\=\other
}
-% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes"
-% for the single characters \ { }. Thus, we end up with the "commands"
-% that would be written @\ @{ @} in a Texinfo document.
-%
-% We already have @{ and @}. For @\, we define it here, and only for
-% this purpose, to produce a typewriter backslash (so, the @\ that we
-% define for @math can't be used with @macro calls):
-%
-\def\\{\normalbackslash}%
-%
-% We would like to do this for \, too, since that is what makeinfo does.
-% But it is not possible, because Texinfo already has a command @, for a
-% cedilla accent. Documents must use @comma{} instead.
-%
-% \anythingelse will almost certainly be an error of some kind.
-
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
% where N is the macro parameter number.
% We define \csname macarg.\endcsname to be \realbackslash, so
% \\ in macro replacement text gets you a backslash.
-%
+
{\catcode`@=0 @catcode`@\=@active
@gdef@usembodybackslash{@let\=@mbodybackslash}
@gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
}
\expandafter\def\csname macarg.\endcsname{\realbackslash}
-\def\margbackslash#1{\char`\#1 }
-
\def\macro{\recursivefalse\parsearg\macroxxx}
\def\rmacro{\recursivetrue\parsearg\macroxxx}
\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
+ \getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
- \paramno=0\relax
+ \paramno=0%
\else
\expandafter\parsemargdef \argl;%
- \if\paramno>256\relax
- \ifx\eTeXversion\thisisundefined
- \errhelp = \EMsimple
- \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
- \fi
- \fi
\fi
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname}%
@@ -7329,269 +6986,46 @@ end
% an opening brace, and that opening brace is not consumed.
\def\getargs#1{\getargsxxx#1{}}
\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname#1 #2\relax{\macname={#1}}
+\def\getmacname #1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
-% For macro processing make @ a letter so that we can make Texinfo private macro names.
-\edef\texiatcatcode{\the\catcode`\@}
-\catcode `@=11\relax
-
% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
-% in the params list to some hook where the argument si to be expanded. If
-% there are less than 10 arguments that hook is to be replaced by ##N where N
-% is the position in that list, that is to say the macro arguments are to be
-% defined `a la TeX in the macro body.
-%
+% so \defmacro knows what to do. Define \macarg.blah for each blah
+% in the params list, to be ##N where N is the position in that list.
% That gets used by \mbodybackslash (above).
-%
+
% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
+% The technique used is stolen from LaTeX: let \hash be something
% unexpandable, insert that wherever you need a #, and then redefine
% it to # just before using the token list produced.
%
% The same technique is used to protect \eatspaces till just before
% the macro is used.
-%
-% If there are 10 or more arguments, a different technique is used, where the
-% hook remains in the body, and when macro is to be expanded the body is
-% processed again to replace the arguments.
-%
-% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
-% argument N value and then \edef the body (nothing else will expand because of
-% the catcode regime underwhich the body was input).
-%
-% If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
-\def\parsemargdef#1;{%
- \paramno=0\def\paramlist{}%
- \let\hash\relax
- \let\xeatspaces\relax
- \parsemargdefxxx#1,;,%
- % In case that there are 10 or more arguments we parse again the arguments
- % list to set new definitions for the \macarg.BLAH macros corresponding to
- % each BLAH argument. It was anyhow needed to parse already once this list
- % in order to count the arguments, and as macros with at most 9 arguments
- % are by far more frequent than macro with 10 or more arguments, defining
- % twice the \macarg.BLAH macros does not cost too much processing power.
- \ifnum\paramno<10\relax\else
- \paramno0\relax
- \parsemmanyargdef@@#1,;,% 10 or more arguments
- \fi
-}
+
+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
+ \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
\def\parsemargdefxxx#1,{%
\if#1;\let\next=\relax
\else \let\next=\parsemargdefxxx
- \advance\paramno by 1
+ \advance\paramno by 1%
\expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
{\xeatspaces{\hash\the\paramno}}%
\edef\paramlist{\paramlist\hash\the\paramno,}%
\fi\next}
-\def\parsemmanyargdef@@#1,{%
- \if#1;\let\next=\relax
- \else
- \let\next=\parsemmanyargdef@@
- \edef\tempb{\eatspaces{#1}}%
- \expandafter\def\expandafter\tempa
- \expandafter{\csname macarg.\tempb\endcsname}%
- % Note that we need some extra \noexpand\noexpand, this is because we
- % don't want \the to be expanded in the \parsermacbody as it uses an
- % \xdef .
- \expandafter\edef\tempa
- {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
- \advance\paramno by 1\relax
- \fi\next}
-
% These two commands read recursive and nonrecursive macro bodies.
% (They're different since rec and nonrec macros end differently.)
-%
-\catcode `\@\texiatcatcode
\long\def\parsemacbody#1@end macro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
\long\def\parsermacbody#1@end rmacro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\catcode `\@=11\relax
-
-\let\endargs@\relax
-\let\nil@\relax
-\def\nilm@{\nil@}%
-\long\def\nillm@{\nil@}%
-
-% This macro is expanded during the Texinfo macro expansion, not during its
-% definition. It gets all the arguments values and assigns them to macros
-% macarg.ARGNAME
-%
-% #1 is the macro name
-% #2 is the list of argument names
-% #3 is the list of argument values
-\def\getargvals@#1#2#3{%
- \def\macargdeflist@{}%
- \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
- \def\paramlist{#2,\nil@}%
- \def\macroname{#1}%
- \begingroup
- \macroargctxt
- \def\argvaluelist{#3,\nil@}%
- \def\@tempa{#3}%
- \ifx\@tempa\empty
- \setemptyargvalues@
- \else
- \getargvals@@
- \fi
-}
-
-%
-\def\getargvals@@{%
- \ifx\paramlist\nilm@
- % Some sanity check needed here that \argvaluelist is also empty.
- \ifx\argvaluelist\nillm@
- \else
- \errhelp = \EMsimple
- \errmessage{Too many arguments in macro `\macroname'!}%
- \fi
- \let\next\macargexpandinbody@
- \else
- \ifx\argvaluelist\nillm@
- % No more arguments values passed to macro. Set remaining named-arg
- % macros to empty.
- \let\next\setemptyargvalues@
- \else
- % pop current arg name into \@tempb
- \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
- \expandafter\@tempa\expandafter{\paramlist}%
- % pop current argument value into \@tempc
- \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
- \expandafter\@tempa\expandafter{\argvaluelist}%
- % Here \@tempb is the current arg name and \@tempc is the current arg value.
- % First place the new argument macro definition into \@tempd
- \expandafter\macname\expandafter{\@tempc}%
- \expandafter\let\csname macarg.\@tempb\endcsname\relax
- \expandafter\def\expandafter\@tempe\expandafter{%
- \csname macarg.\@tempb\endcsname}%
- \edef\@tempd{\long\def\@tempe{\the\macname}}%
- \push@\@tempd\macargdeflist@
- \let\next\getargvals@@
- \fi
- \fi
- \next
-}
-
-\def\push@#1#2{%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter#2%
- \expandafter\expandafter\expandafter{%
- \expandafter#1#2}%
-}
-
-% Replace arguments by their values in the macro body, and place the result
-% in macro \@tempa
-\def\macvalstoargs@{%
- % To do this we use the property that token registers that are \the'ed
- % within an \edef expand only once. So we are going to place all argument
- % values into respective token registers.
- %
- % First we save the token context, and initialize argument numbering.
- \begingroup
- \paramno0\relax
- % Then, for each argument number #N, we place the corresponding argument
- % value into a new token list register \toks#N
- \expandafter\putargsintokens@\saveparamlist@,;,%
- % Then, we expand the body so that argument are replaced by their
- % values. The trick for values not to be expanded themselves is that they
- % are within tokens and that tokens expand only once in an \edef .
- \edef\@tempc{\csname mac.\macroname .body\endcsname}%
- % Now we restore the token stack pointer to free the token list registers
- % which we have used, but we make sure that expanded body is saved after
- % group.
- \expandafter
- \endgroup
- \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
- }
-
-\def\macargexpandinbody@{%
- %% Define the named-macro outside of this group and then close this group.
- \expandafter
- \endgroup
- \macargdeflist@
- % First the replace in body the macro arguments by their values, the result
- % is in \@tempa .
- \macvalstoargs@
- % Then we point at the \norecurse or \gobble (for recursive) macro value
- % with \@tempb .
- \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
- % Depending on whether it is recursive or not, we need some tailing
- % \egroup .
- \ifx\@tempb\gobble
- \let\@tempc\relax
- \else
- \let\@tempc\egroup
- \fi
- % And now we do the real job:
- \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
- \@tempd
-}
-
-\def\putargsintokens@#1,{%
- \if#1;\let\next\relax
- \else
- \let\next\putargsintokens@
- % First we allocate the new token list register, and give it a temporary
- % alias \@tempb .
- \toksdef\@tempb\the\paramno
- % Then we place the argument value into that token list register.
- \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
- \expandafter\@tempb\expandafter{\@tempa}%
- \advance\paramno by 1\relax
- \fi
- \next
-}
-
-% Save the token stack pointer into macro #1
-\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
-% Restore the token stack pointer from number in macro #1
-\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
-% newtoks that can be used non \outer .
-\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
-
-% Tailing missing arguments are set to empty
-\def\setemptyargvalues@{%
- \ifx\paramlist\nilm@
- \let\next\macargexpandinbody@
- \else
- \expandafter\setemptyargvaluesparser@\paramlist\endargs@
- \let\next\setemptyargvalues@
- \fi
- \next
-}
-\def\setemptyargvaluesparser@#1,#2\endargs@{%
- \expandafter\def\expandafter\@tempa\expandafter{%
- \expandafter\def\csname macarg.#1\endcsname{}}%
- \push@\@tempa\macargdeflist@
- \def\paramlist{#2}%
-}
-
-% #1 is the element target macro
-% #2 is the list macro
-% #3,#4\endargs@ is the list value
-\def\pop@#1#2#3,#4\endargs@{%
- \def#1{#3}%
- \def#2{#4}%
-}
-\long\def\longpop@#1#2#3,#4\endargs@{%
- \long\def#1{#3}%
- \long\def#2{#4}%
-}
-
-% This defines a Texinfo @macro. There are eight cases: recursive and
-% nonrecursive macros of zero, one, up to nine, and many arguments.
+% This defines the macro itself. There are six cases: recursive and
+% nonrecursive macros of zero, one, and many arguments.
% Much magic with \expandafter here.
% \xdef is used so that macro definitions will survive the file
% they're defined in; @include reads the file inside a group.
-%
\def\defmacro{%
\let\hash=##% convert placeholders to macro parameter chars
\ifrecursive
@@ -7606,25 +7040,17 @@ end
\expandafter\noexpand\csname\the\macname xxx\endcsname}%
\expandafter\xdef\csname\the\macname xxx\endcsname##1{%
\egroup\noexpand\scanmacro{\temp}}%
- \else
- \ifnum\paramno<10\relax % at most 9
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
- \else % 10 or more
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\getargvals@{\the\macname}{\argl}%
- }%
- \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
- \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
- \fi
+ \else % many
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{\egroup\noexpand\scanmacro{\temp}}%
\fi
\else
\ifcase\paramno
@@ -7641,40 +7067,29 @@ end
\egroup
\noexpand\norecurse{\the\macname}%
\noexpand\scanmacro{\temp}\egroup}%
- \else % at most 9
- \ifnum\paramno<10\relax
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \expandafter\noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \else % 10 or more:
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\getargvals@{\the\macname}{\argl}%
- }%
- \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
- \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
- \fi
+ \else % many
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \expandafter\noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{%
+ \egroup
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
\fi
\fi}
-\catcode `\@\texiatcatcode\relax
-
\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
% \braceorline decides whether the next nonwhitespace character is a
% {. If so it reads up to the closing }, if not, it reads the whole
% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg).
-%
+% as an argument (by \parsebrace or \parsearg)
\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{%
\ifx\nchar\bgroup\else
@@ -7684,8 +7099,7 @@ end
% @alias.
% We need some trickery to remove the optional spaces around the equal
-% sign. Make them active and then expand them all to nothing.
-%
+% sign. Just make them active and then expand them all to nothing.
\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
\def\aliasyyy #1=#2\relax{%
@@ -7706,8 +7120,7 @@ end
% @inforef is relatively simple.
\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{%
- \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
% @node's only job in TeX is to define \lastnode, which is used in
@@ -7768,32 +7181,11 @@ end
\toks0 = \expandafter{\lastsection}%
\immediate \writexrdef{title}{\the\toks0 }%
\immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
- \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
}%
\fi
}
-% @xrefautosectiontitle on|off says whether @section(ing) names are used
-% automatically in xrefs, if the third arg is not explicitly specified.
-% This was provided as a "secret" @set xref-automatic-section-title
-% variable, now it's official.
-%
-\parseargdef\xrefautomaticsectiontitle{%
- \def\temp{#1}%
- \ifx\temp\onword
- \expandafter\let\csname SETxref-automatic-section-title\endcsname
- = \empty
- \else\ifx\temp\offword
- \expandafter\let\csname SETxref-automatic-section-title\endcsname
- = \relax
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @xrefautomaticsectiontitle value `\temp',
- must be on|off}%
- \fi\fi
-}
-
-
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
@@ -7810,7 +7202,7 @@ end
\setbox0=\hbox{\printedrefname\unskip}%
\ifdim \wd0 = 0pt
% No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
+ \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
% Use the node name inside the square brackets.
\def\printedrefname{\ignorespaces #1}%
\else
@@ -7839,8 +7231,9 @@ end
% etc. don't get their TeX definitions.
\getfilename{#4}%
%
- \edef\pdfxrefdest{#1}%
- \txiescapepdf\pdfxrefdest
+ % See comments at \activebackslashdouble.
+ {\activebackslashdouble \xdef\pdfxrefdest{#1}%
+ \backslashparens\pdfxrefdest}%
%
\leavevmode
\startlink attr{/Border [0 0 0]}%
@@ -7964,8 +7357,7 @@ end
\angleleft un\-de\-fined\angleright
\iflinks
\ifhavexrefs
- {\toks0 = {#1}% avoid expansion of possibly-complex value
- \message{\linenumber Undefined cross reference `\the\toks0'.}}%
+ \message{\linenumber Undefined cross reference `#1'.}%
\else
\ifwarnedxrefs\else
\global\warnedxrefstrue
@@ -8129,7 +7521,7 @@ end
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for Info output only.
+% @footnotestyle is meaningful for info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
@@ -8192,8 +7584,6 @@ end
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
- %
- % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
@@ -8281,7 +7671,7 @@ end
it from ftp://tug.org/tex/epsf.tex.}
%
\def\image#1{%
- \ifx\epsfbox\thisiundefined
+ \ifx\epsfbox\undefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored}%
@@ -8297,7 +7687,7 @@ end
% #2 is (optional) width, #3 is (optional) height.
% #4 is (ignored optional) html alt text.
% #5 is (ignored optional) extension.
-% #6 is just the usual extra ignored arg for parsing stuff.
+% #6 is just the usual extra ignored arg for parsing this stuff.
\newif\ifimagevmode
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
\catcode`\^^M = 5 % in case we're inside an example
@@ -8746,7 +8136,7 @@ directory should work if nowhere else does.}
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
- \gdef^^a0{\tie}
+ \gdef^^a0{~}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
@@ -8776,7 +8166,7 @@ directory should work if nowhere else does.}
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
- \gdef^^bb{\guillemetright}
+ \gdef^^bb{\guilletright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
@@ -8868,7 +8258,7 @@ directory should work if nowhere else does.}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
- \gdef^^a0{\tie}
+ \gdef^^a0{~}
\gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
@@ -8949,8 +8339,8 @@ directory should work if nowhere else does.}
\gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
- \gdef^^ed{\'{\dotless{i}}}
- \gdef^^ee{\^{\dotless{i}}}
+ \gdef^^ed{\'\i}
+ \gdef^^ee{\^\i}
\gdef^^ef{\v d}
%
\gdef^^f0{\dh}
@@ -9041,7 +8431,7 @@ directory should work if nowhere else does.}
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
- %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{%
@@ -9509,8 +8899,8 @@ directory should work if nowhere else does.}
% Prevent underfull vbox error messages.
\vbadness = 10000
-% Don't be very finicky about underfull hboxes, either.
-\hbadness = 6666
+% Don't be so finicky about underfull hboxes, either.
+\hbadness = 2000
% Following George Bush, get rid of widows and orphans.
\widowpenalty=10000
@@ -9717,21 +9107,28 @@ directory should work if nowhere else does.}
\message{and turning on texinfo input format.}
-\def^^L{\par} % remove \outer, so ^L can appear in an @comment
-
% DEL is a comment character, in case @c does not suffice.
\catcode`\^^? = 14
% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other \def\normaldoublequote{"}
-\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix
-\catcode`\+=\other \def\normalplus{+}
-\catcode`\<=\other \def\normalless{<}
-\catcode`\>=\other \def\normalgreater{>}
-\catcode`\^=\other \def\normalcaret{^}
-\catcode`\_=\other \def\normalunderscore{_}
-\catcode`\|=\other \def\normalverticalbar{|}
-\catcode`\~=\other \def\normaltilde{~}
+\catcode`\"=\other
+\catcode`\~=\other
+\catcode`\^=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode`\+=\other
+\catcode`\$=\other
+\def\normaldoublequote{"}
+\def\normaltilde{~}
+\def\normalcaret{^}
+\def\normalunderscore{_}
+\def\normalverticalbar{|}
+\def\normalless{<}
+\def\normalgreater{>}
+\def\normalplus{+}
+\def\normaldollar{$}%$ font-lock fix
% This macro is used to make a character print one way in \tt
% (where it can probably be output as-is), and another way in other fonts,
@@ -9809,24 +9206,14 @@ directory should work if nowhere else does.}
% In texinfo, backslash is an active character; it prints the backslash
% in fixed width font.
-\catcode`\\=\active % @ for escape char from now on.
-
-% The story here is that in math mode, the \char of \backslashcurfont
-% ends up printing the roman \ from the math symbol font (because \char
-% in math mode uses the \mathcode, and plain.tex sets
-% \mathcode`\\="026E). It seems better for @backslashchar{} to always
-% print a typewriter backslash, hence we use an explicit \mathchar,
-% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
-% ignored family value; char position "5C). We can't use " for the
-% usual hex value because it has already been made active.
-@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
-@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
-
+\catcode`\\=\active
+@def@normalbackslash{{@tt@backslashcurfont}}
% On startup, @fixbackslash assigns:
% @let \ = @normalbackslash
+
% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other. We switch back and forth between these.
+% catcode other.
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
@@ -9834,16 +9221,16 @@ directory should work if nowhere else does.}
% the literal character `\'.
%
@def@normalturnoffactive{%
- @let"=@normaldoublequote
- @let$=@normaldollar %$ font-lock fix
- @let+=@normalplus
- @let<=@normalless
- @let>=@normalgreater
@let\=@normalbackslash
+ @let"=@normaldoublequote
+ @let~=@normaltilde
@let^=@normalcaret
@let_=@normalunderscore
@let|=@normalverticalbar
- @let~=@normaltilde
+ @let<=@normalless
+ @let>=@normalgreater
+ @let+=@normalplus
+ @let$=@normaldollar %$ font-lock fix
@markupsetuplqdefault
@markupsetuprqdefault
@unsepspaces
@@ -9875,19 +9262,10 @@ directory should work if nowhere else does.}
% Say @foo, not \foo, in error messages.
@escapechar = `@@
-% These (along with & and #) are made active for url-breaking, so need
-% active definitions as the normal characters.
-@def@normaldot{.}
-@def@normalquest{?}
-@def@normalslash{/}
-
% These look ok in all fonts, so just make them not special.
-% @hashchar{} gets its own user-level command, because of #line.
-@catcode`@& = @other @def@normalamp{&}
-@catcode`@# = @other @def@normalhash{#}
-@catcode`@% = @other @def@normalpercent{%}
-
-@let @hashchar = @normalhash
+@catcode`@& = @other
+@catcode`@# = @other
+@catcode`@% = @other
@c Finally, make ` and ' active, so that txicodequoteundirected and
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in
index 1d5d02fe6b7..d7782186116 100644
--- a/libjava/classpath/examples/Makefile.in
+++ b/libjava/classpath/examples/Makefile.in
@@ -41,9 +41,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -62,7 +59,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -193,6 +192,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in
index cd03f679553..3de327506de 100644
--- a/libjava/classpath/external/Makefile.in
+++ b/libjava/classpath/external/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -208,6 +207,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in
index 55f05841eb5..2b48838b79f 100644
--- a/libjava/classpath/external/jsr166/Makefile.in
+++ b/libjava/classpath/external/jsr166/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in
index 41430c160b4..a18308d2d74 100644
--- a/libjava/classpath/external/relaxngDatatype/Makefile.in
+++ b/libjava/classpath/external/relaxngDatatype/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in
index 774243663c7..5a2a9123ccc 100644
--- a/libjava/classpath/external/sax/Makefile.in
+++ b/libjava/classpath/external/sax/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java
index 96dcf6779b7..42dfe01dc2b 100644
--- a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java
+++ b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java
@@ -1,7 +1,7 @@
// EntityResolver2.java - Extended SAX entity resolver.
// http://www.saxproject.org
// No warranty; no copyright -- use this as you will.
-// $Id: EntityResolver2.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $
+// $Id: EntityResolver2.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $
package org.xml.sax.ext;
diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java
index d3c7511144f..a73e8a4ee94 100644
--- a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java
+++ b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java
@@ -1,7 +1,7 @@
// Locator2Impl.java - extended LocatorImpl
// http://www.saxproject.org
// Public Domain: no warranty.
-// $Id: Locator2Impl.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $
+// $Id: Locator2Impl.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $
package org.xml.sax.ext;
diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java
index 8ab909a7754..24238e2f3b5 100644
--- a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java
+++ b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java
@@ -2,7 +2,7 @@
// http://www.saxproject.org
// Written by David Megginson
// NO WARRANTY! This class is in the public domain.
-// $Id: XMLReaderAdapter.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $
+// $Id: XMLReaderAdapter.java,v 1.2 2006-12-10 20:25:41 gnu_andrew Exp $
package org.xml.sax.helpers;
diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in
index 76daadb2c22..4c65e720306 100644
--- a/libjava/classpath/external/w3c_dom/Makefile.in
+++ b/libjava/classpath/external/w3c_dom/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -168,6 +167,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/gnu/java/nio/FileLockImpl.java b/libjava/classpath/gnu/java/nio/FileLockImpl.java
index e714ea358e5..0c6e4685cc3 100644
--- a/libjava/classpath/gnu/java/nio/FileLockImpl.java
+++ b/libjava/classpath/gnu/java/nio/FileLockImpl.java
@@ -88,6 +88,11 @@ public final class FileLockImpl extends FileLock
return valid;
}
+ public void close() throws Exception
+ {
+ release();
+ }
+
/**
* Releases the lock if it is still valid. Marks this lock as invalid.
*/
diff --git a/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java b/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java
index 2a89ae0972e..3633be92017 100644
--- a/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java
+++ b/libjava/classpath/gnu/java/text/AttributedFormatBuffer.java
@@ -1,5 +1,5 @@
/* AttributedFormatBuffer.java -- Implements an attributed FormatBuffer.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -41,6 +41,10 @@ import gnu.java.lang.CPStringBuilder;
import java.text.AttributedCharacterIterator;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.text.AttributedCharacterIterator.Attribute;
/**
* This class is an implementation of a FormatBuffer with attributes.
@@ -53,12 +57,12 @@ import java.util.HashMap;
public class AttributedFormatBuffer implements FormatBuffer
{
private final CPStringBuilder buffer;
- private final ArrayList ranges;
- private final ArrayList attributes;
- private int[] a_ranges;
- private HashMap[] a_attributes;
+ private final ArrayList<Integer> ranges;
+ private final ArrayList<Map<Attribute,Object>> attributes;
+ private int[] aRanges;
+ private List<Map<Attribute,Object>> aAttributes;
private int startingRange;
- AttributedCharacterIterator.Attribute defaultAttr;
+ Attribute defaultAttr;
/**
* This constructor accepts a StringBuffer. If the buffer contains
@@ -67,8 +71,8 @@ public class AttributedFormatBuffer implements FormatBuffer
public AttributedFormatBuffer(CPStringBuilder buffer)
{
this.buffer = new CPStringBuilder(buffer);
- this.ranges = new ArrayList();
- this.attributes = new ArrayList();
+ this.ranges = new ArrayList<Integer>();
+ this.attributes = new ArrayList<Map<Attribute,Object>>();
this.defaultAttr = null;
if (buffer.length() != 0)
{
@@ -94,23 +98,23 @@ public class AttributedFormatBuffer implements FormatBuffer
* and attributes it adds exactly one attribute for the range of characters
* comprised between the last entry in 'ranges' and the specified new range.
*
- * @param new_range A new range to insert in the list.
+ * @param newRange A new range to insert in the list.
* @param attr A new attribute to insert in the list.
*/
- private final void addAttribute(int new_range, AttributedCharacterIterator.Attribute attr)
+ private final void addAttribute(int newRange, Attribute attr)
{
- HashMap map;
+ Map<Attribute,Object> map;
if (attr != null)
{
- map = new HashMap();
+ map = new HashMap<Attribute,Object>();
map.put(attr, attr);
attributes.add(map);
}
else
attributes.add(null);
- ranges.add(new Integer(new_range));
+ ranges.add(Integer.valueOf(newRange));
}
public void append(String s)
@@ -120,7 +124,7 @@ public class AttributedFormatBuffer implements FormatBuffer
buffer.append(s);
}
- public void append(String s, AttributedCharacterIterator.Attribute attr)
+ public void append(String s, Attribute attr)
{
setDefaultAttribute(attr);
startingRange = buffer.length();
@@ -128,7 +132,7 @@ public class AttributedFormatBuffer implements FormatBuffer
setDefaultAttribute(null);
}
- public void append(String s, int[] ranges, HashMap[] attrs)
+ public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs)
{
int curPos = buffer.length();
@@ -137,8 +141,8 @@ public class AttributedFormatBuffer implements FormatBuffer
{
for (int i = 0; i < ranges.length; i++)
{
- this.ranges.add(new Integer(ranges[i] + curPos));
- this.attributes.add(attrs[i]);
+ this.ranges.add(Integer.valueOf(ranges[i] + curPos));
+ this.attributes.add(attrs.get(i));
}
}
startingRange = buffer.length();
@@ -152,14 +156,14 @@ public class AttributedFormatBuffer implements FormatBuffer
buffer.append(c);
}
- public void append(char c, AttributedCharacterIterator.Attribute attr)
+ public void append(char c, Attribute attr)
{
setDefaultAttribute(attr);
buffer.append(c);
setDefaultAttribute(null);
}
- public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr)
+ public void setDefaultAttribute(Attribute attr)
{
if (attr == defaultAttr)
return;
@@ -174,7 +178,7 @@ public class AttributedFormatBuffer implements FormatBuffer
startingRange = currentPos;
}
- public AttributedCharacterIterator.Attribute getDefaultAttribute()
+ public Attribute getDefaultAttribute()
{
return defaultAttr;
}
@@ -209,12 +213,11 @@ public class AttributedFormatBuffer implements FormatBuffer
addAttribute(buffer.length(), defaultAttr);
- a_ranges = new int[ranges.size()];
- for (int i = 0; i < a_ranges.length; i++)
- a_ranges[i] = ((Integer)(ranges.get (i))).intValue();
+ aRanges = new int[ranges.size()];
+ for (int i = 0; i < aRanges.length; i++)
+ aRanges[i] = ranges.get (i).intValue();
- a_attributes = new HashMap[attributes.size()];
- System.arraycopy(attributes.toArray(), 0, a_attributes, 0, a_attributes.length);
+ aAttributes = new ArrayList<Map<Attribute,Object>>(attributes);
}
/**
@@ -235,17 +238,17 @@ public class AttributedFormatBuffer implements FormatBuffer
*/
public int[] getRanges()
{
- return a_ranges;
+ return aRanges;
}
/**
* This method returns the array containing the map on the
* attributes.
*
- * @return An array of {@link java.util.Map} containing the attributes.
+ * @return A {@link java.util.List} of {@link java.util.Map}s containing the attributes.
*/
- public HashMap[] getAttributes()
+ public List<Map<Attribute,Object>> getAttributes()
{
- return a_attributes;
+ return aAttributes;
}
}
diff --git a/libjava/classpath/gnu/java/text/FormatBuffer.java b/libjava/classpath/gnu/java/text/FormatBuffer.java
index 590b16cce23..2922897ee1f 100644
--- a/libjava/classpath/gnu/java/text/FormatBuffer.java
+++ b/libjava/classpath/gnu/java/text/FormatBuffer.java
@@ -1,5 +1,5 @@
/* FormatBuffer.java -- General interface to build attributed strings.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,7 +37,10 @@ exception statement from your version. */
package gnu.java.text;
import java.text.AttributedCharacterIterator;
-import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.text.AttributedCharacterIterator.Attribute;
/**
* This interface describes a modifiable buffer which contains attributed
@@ -67,7 +70,7 @@ public interface FormatBuffer
* @param s The string to append to the buffer.
* @param attr Attribute to use for the string in the buffer.
*/
- public void append(String s, AttributedCharacterIterator.Attribute attr);
+ public void append(String s, Attribute attr);
/**
* This method appends a simple string to the buffer. This part of
@@ -79,7 +82,7 @@ public interface FormatBuffer
* to the string.
* @param attrs The attributes of the string in the buffer.
*/
- public void append(String s, int[] ranges, HashMap[] attrs);
+ public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs);
/**
* This method appends a simple char to the buffer. This part of
@@ -97,7 +100,7 @@ public interface FormatBuffer
* @param c The character to append to the buffer.
* @param attr Attribute to use for the character in the buffer.
*/
- public void append(char c, AttributedCharacterIterator.Attribute attr);
+ public void append(char c, Attribute attr);
/**
* This method changes the current default attribute for the next string
@@ -105,14 +108,14 @@ public interface FormatBuffer
*
* @param attr The attribute which will be used by default.
*/
- public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr);
+ public void setDefaultAttribute(Attribute attr);
/**
* This method returns the current default attribute for the buffer.
*
* @return The default attribute for the buffer.
*/
- public AttributedCharacterIterator.Attribute getDefaultAttribute();
+ public Attribute getDefaultAttribute();
/**
* This method cuts the last characters of the buffer. The number of
diff --git a/libjava/classpath/gnu/java/text/FormatCharacterIterator.java b/libjava/classpath/gnu/java/text/FormatCharacterIterator.java
index 889394ca451..677d4d3b91a 100644
--- a/libjava/classpath/gnu/java/text/FormatCharacterIterator.java
+++ b/libjava/classpath/gnu/java/text/FormatCharacterIterator.java
@@ -1,6 +1,6 @@
/* FormatCharacter.java -- Implementation of AttributedCharacterIterator for
formatters.
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,12 +38,15 @@ exception statement from your version. */
package gnu.java.text;
import java.text.AttributedCharacterIterator;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.Vector;
+
+import static java.text.AttributedCharacterIterator.Attribute;
/**
* This class should not be put public and it is only intended to the
@@ -62,7 +65,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
private int charIndex;
private int attributeIndex;
private int[] ranges;
- private HashMap[] attributes;
+ private List<Map<Attribute,Object>> attributes;
private static final boolean DEBUG = false;
/**
@@ -74,7 +77,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
{
formattedString = "";
ranges = new int[0];
- attributes = new HashMap[0];
+ attributes = new ArrayList<Map<Attribute,Object>>(0);
}
/**
@@ -87,12 +90,13 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
* <pre>
* s = "hello";
* ranges = new int[] { 2, 6 };
- * attributes = new HashMap[2];
+ * attributes = new ArrayList<Map<Attribute,Object>>(2);
* </pre>
- * <code>"he"</code> will have the attributes <code>attributes[0]</code>,
- * <code>"llo"</code> the <code>attributes[1]</code>.
+ * <code>"he"</code> will have the attributes <code>attributes.get(0)</code>,
+ * <code>"llo"</code> the <code>attributes.get(1)</code>.
*/
- public FormatCharacterIterator (String s, int[] ranges, HashMap[] attributes)
+ public FormatCharacterIterator (String s, int[] ranges,
+ List<Map<Attribute,Object>> attributes)
{
formattedString = s;
this.ranges = ranges;
@@ -104,55 +108,57 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
* and thus are already documented.
*/
- public Set getAllAttributeKeys()
+ public Set<Attribute> getAllAttributeKeys()
{
- if (attributes != null && attributes[attributeIndex] != null)
- return attributes[attributeIndex].keySet();
+ if (attributes != null && attributes.get(attributeIndex) != null)
+ return attributes.get(attributeIndex).keySet();
else
- return new HashSet();
+ return new HashSet<Attribute>();
}
- public Map getAttributes()
+ public Map<Attribute,Object> getAttributes()
{
- if (attributes != null && attributes[attributeIndex] != null)
- return attributes[attributeIndex];
+ if (attributes != null && attributes.get(attributeIndex) != null)
+ return attributes.get(attributeIndex);
else
- return new HashMap();
+ return new HashMap<Attribute,Object>();
}
- public Object getAttribute (AttributedCharacterIterator.Attribute attrib)
+ public Object getAttribute (Attribute attrib)
{
- if (attributes != null && attributes[attributeIndex] != null)
- return attributes[attributeIndex].get (attrib);
+ if (attributes != null && attributes.get(attributeIndex) != null)
+ return attributes.get(attributeIndex).get (attrib);
else
return null;
}
- public int getRunLimit(Set reqAttrs)
+ public int getRunLimit(Set<? extends Attribute> reqAttrs)
{
if (attributes == null)
return formattedString.length();
int currentAttrIndex = attributeIndex;
- Set newKeys;
+ Set<Attribute> newKeys;
do
{
currentAttrIndex++;
- if (currentAttrIndex == attributes.length)
+ if (currentAttrIndex == attributes.size())
return formattedString.length();
- if (attributes[currentAttrIndex] == null)
+ Map<Attribute,Object> currentAttr =
+ attributes.get(currentAttrIndex);
+ if (currentAttr == null)
break;
- newKeys = attributes[currentAttrIndex].keySet();
+ newKeys = currentAttr.keySet();
}
while (newKeys.containsAll (reqAttrs));
return ranges[currentAttrIndex-1];
}
- public int getRunLimit (AttributedCharacterIterator.Attribute attribute)
+ public int getRunLimit (Attribute attribute)
{
- Set s = new HashSet();
+ Set<Attribute> s = new HashSet<Attribute>();
s.add (attribute);
return getRunLimit (s);
@@ -162,24 +168,24 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
{
if (attributes == null)
return formattedString.length();
- if (attributes[attributeIndex] == null)
+ if (attributes.get(attributeIndex) == null)
{
- for (int i=attributeIndex+1;i<attributes.length;i++)
- if (attributes[i] != null)
+ for (int i=attributeIndex+1;i<attributes.size();i++)
+ if (attributes.get(i) != null)
return ranges[i-1];
return formattedString.length();
}
- return getRunLimit (attributes[attributeIndex].keySet());
+ return getRunLimit (attributes.get(attributeIndex).keySet());
}
- public int getRunStart (Set reqAttrs)
+ public int getRunStart (Set<? extends Attribute> reqAttrs)
{
if (attributes == null)
return formattedString.length();
int currentAttrIndex = attributeIndex;
- Set newKeys = null;
+ Set<Attribute> newKeys = null;
do
{
@@ -187,9 +193,11 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
return 0;
currentAttrIndex--;
- if (attributes[currentAttrIndex] == null)
+ Map<Attribute,Object> currentAttr =
+ attributes.get(currentAttrIndex);
+ if (currentAttr == null)
break;
- newKeys = attributes[currentAttrIndex].keySet();
+ newKeys = currentAttr.keySet();
}
while (newKeys.containsAll (reqAttrs));
@@ -201,20 +209,21 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
if (attributes == null)
return 0;
- if (attributes[attributeIndex] == null)
+ Map<Attribute,Object> attrib = attributes.get(attributeIndex);
+ if (attrib == null)
{
for (int i=attributeIndex;i>0;i--)
- if (attributes[i] != null)
+ if (attributes.get(i) != null)
return ranges[attributeIndex-1];
return 0;
}
- return getRunStart (attributes[attributeIndex].keySet());
+ return getRunStart (attrib.keySet());
}
- public int getRunStart (AttributedCharacterIterator.Attribute attribute)
+ public int getRunStart (Attribute attribute)
{
- Set s = new HashSet();
+ Set<Attribute> s = new HashSet<Attribute>();
s.add (attribute);
return getRunStart (s);
@@ -261,7 +270,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
{
charIndex = formattedString.length()-1;
if (attributes != null)
- attributeIndex = attributes.length-1;
+ attributeIndex = attributes.size()-1;
return formattedString.charAt (charIndex);
}
@@ -306,7 +315,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
charIndex = position;
if (attributes != null)
{
- for (attributeIndex=0;attributeIndex<attributes.length;
+ for (attributeIndex=0;attributeIndex<attributes.size();
attributeIndex++)
if (ranges[attributeIndex] > charIndex)
break;
@@ -327,40 +336,42 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
*
* @param attributes the new array attributes to apply to the string.
*/
- public void mergeAttributes (HashMap[] attributes, int[] ranges)
+ public void mergeAttributes (List<Map<Attribute,Object>> attributes,
+ int[] ranges)
{
- Vector new_ranges = new Vector();
- Vector new_attributes = new Vector();
+ List<Integer> newRanges = new ArrayList<Integer>();
+ List<Map<Attribute,Object>> newAttributes =
+ new ArrayList<Map<Attribute,Object>>();
int i = 0, j = 0;
- debug("merging " + attributes.length + " attrs");
+ debug("merging " + attributes.size() + " attrs");
while (i < this.ranges.length && j < ranges.length)
{
- if (this.attributes[i] != null)
+ if (this.attributes.get(i) != null)
{
- new_attributes.add (this.attributes[i]);
- if (attributes[j] != null)
- this.attributes[i].putAll (attributes[j]);
+ newAttributes.add (this.attributes.get(i));
+ if (attributes.get(j) != null)
+ this.attributes.get(i).putAll (attributes.get(j));
}
else
{
- new_attributes.add (attributes[j]);
+ newAttributes.add (attributes.get(j));
}
if (this.ranges[i] == ranges[j])
{
- new_ranges.add (new Integer (ranges[j]));
+ newRanges.add (Integer.valueOf (ranges[j]));
i++;
j++;
}
else if (this.ranges[i] < ranges[j])
{
- new_ranges.add (new Integer (this.ranges[i]));
+ newRanges.add (Integer.valueOf (this.ranges[i]));
i++;
}
else
{
- new_ranges.add (new Integer (ranges[j]));
+ newRanges.add (Integer.valueOf (ranges[j]));
j++;
}
}
@@ -369,27 +380,25 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
{
for (;i<this.ranges.length;i++)
{
- new_attributes.add (this.attributes[i]);
- new_ranges.add (new Integer (this.ranges[i]));
+ newAttributes.add (this.attributes.get(i));
+ newRanges.add (Integer.valueOf (this.ranges[i]));
}
}
if (j != ranges.length)
{
for (;j<ranges.length;j++)
{
- new_attributes.add (attributes[j]);
- new_ranges.add (new Integer (ranges[j]));
+ newAttributes.add (attributes.get(j));
+ newRanges.add (Integer.valueOf (ranges[j]));
}
}
- this.attributes = new HashMap[new_attributes.size()];
- this.ranges = new int[new_ranges.size()];
- System.arraycopy (new_attributes.toArray(), 0, this.attributes,
- 0, this.attributes.length);
+ this.attributes = newAttributes;
+ this.ranges = new int[newRanges.size()];
- for (i=0;i<new_ranges.size();i++)
+ for (i=0;i<newRanges.size();i++)
{
- this.ranges[i] = ((Integer)new_ranges.elementAt (i)).intValue();
+ this.ranges[i] = newRanges.get (i).intValue();
}
dumpTable();
@@ -405,35 +414,35 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
public void append (AttributedCharacterIterator iterator)
{
char c = iterator.first();
- Vector more_ranges = new Vector();
- Vector more_attributes = new Vector();
+ List<Integer> moreRanges = new ArrayList<Integer>();
+ List<Map<Attribute,Object>> moreAttributes =
+ new ArrayList<Map<Attribute,Object>>();
do
{
formattedString = formattedString + String.valueOf (c);
// TODO: Reduce the size of the output array.
- more_attributes.add (iterator.getAttributes());
- more_ranges.add (new Integer (formattedString.length()));
+ moreAttributes.add (iterator.getAttributes());
+ moreRanges.add (Integer.valueOf (formattedString.length()));
// END TOOD
c = iterator.next();
}
while (c != DONE);
- HashMap[] new_attributes = new HashMap[attributes.length
- + more_attributes.size()];
- int[] new_ranges = new int[ranges.length + more_ranges.size()];
+ List<Map<Attribute,Object>> newAttributes =
+ new ArrayList<Map<Attribute,Object>>(attributes.size() + moreAttributes.size());
+ int[] newRanges = new int[ranges.length + moreRanges.size()];
- System.arraycopy (attributes, 0, new_attributes, 0, attributes.length);
- System.arraycopy (more_attributes.toArray(), 0, new_attributes,
- attributes.length, more_attributes.size());
+ newAttributes.addAll(attributes);
+ newAttributes.addAll(moreAttributes);
- System.arraycopy (ranges, 0, new_ranges, 0, ranges.length);
- Object[] new_ranges_array = more_ranges.toArray();
- for (int i = 0; i < more_ranges.size();i++)
- new_ranges[i+ranges.length] = ((Integer) new_ranges_array[i]).intValue();
+ System.arraycopy (ranges, 0, newRanges, 0, ranges.length);
+ Integer[] newRangesArray = moreRanges.toArray(new Integer[moreRanges.size()]);
+ for (int i = 0; i < moreRanges.size();i++)
+ newRanges[i+ranges.length] = newRangesArray[i].intValue();
- attributes = new_attributes;
- ranges = new_ranges;
+ attributes = newAttributes;
+ ranges = newRanges;
}
/**
@@ -441,28 +450,29 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
* directly in the calling parameters.
*
* @param text The string to append.
- * @param local_attributes The attributes to put on this string in the
+ * @param localAttributes The attributes to put on this string in the
* iterator. If it is <code>null</code> the string will simply have no
* attributes.
*/
- public void append (String text, HashMap local_attributes)
+ public void append (String text, HashMap<? extends Attribute,? extends Object> localAttributes)
{
- int[] new_ranges = new int[ranges.length+1];
- HashMap[] new_attributes = new HashMap[attributes.length+1];
+ int[] newRanges = new int[ranges.length+1];
+ List<Map<Attribute,Object>> newAttributes =
+ new ArrayList<Map<Attribute,Object>>(attributes.size()+1);
formattedString += text;
- System.arraycopy (attributes, 0, new_attributes, 0, attributes.length);
- System.arraycopy (ranges, 0, new_ranges, 0, ranges.length);
- new_ranges[ranges.length] = formattedString.length();
- new_attributes[attributes.length] = local_attributes;
+ newAttributes.addAll(attributes);
+ System.arraycopy (ranges, 0, newRanges, 0, ranges.length);
+ newRanges[ranges.length] = formattedString.length();
+ newAttributes.add(new HashMap<Attribute,Object>(localAttributes));
- ranges = new_ranges;
- attributes = new_attributes;
+ ranges = newRanges;
+ attributes = newAttributes;
}
/**
* This method appends a string without attributes. It is completely
- * equivalent to call {@link #append(String,HashMap)} with local_attributes
+ * equivalent to call {@link #append(String,HashMap)} with localAttributes
* equal to <code>null</code>.
*
* @param text The string to append to the iterator.
@@ -475,22 +485,31 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
/**
* This method adds a set of attributes to a range of character. The
* bounds are always inclusive. In the case many attributes have to
- * be added it is advised to directly use {@link #mergeAttributes([Ljava.util.HashMap;[I}
+ * be added it is advised to directly use {@link #mergeAttributes(java.util.List;[I}
*
* @param attributes Attributes to merge into the iterator.
- * @param range_start Lower bound of the range of characters which will receive the
+ * @param rangeStart Lower bound of the range of characters which will receive the
* attribute.
- * @param range_end Upper bound of the range of characters which will receive the
+ * @param rangeEnd Upper bound of the range of characters which will receive the
* attribute.
*
* @throws IllegalArgumentException if ranges are out of bounds.
*/
- public void addAttributes(HashMap attributes, int range_start, int range_end)
+ public void addAttributes(Map<? extends Attribute,? extends Object> attributes,
+ int rangeStart, int rangeEnd)
{
- if (range_start == 0)
- mergeAttributes(new HashMap[] { attributes }, new int[] { range_end });
+ List<Map<Attribute,Object>> mergeAttribs = new ArrayList<Map<Attribute,Object>>();
+ int[] mergeRanges;
+
+ if (rangeStart == 0)
+ mergeRanges = new int[] { rangeEnd };
else
- mergeAttributes(new HashMap[] { null, attributes }, new int[] { range_start, range_end });
+ {
+ mergeRanges = new int[] { rangeStart, rangeEnd };
+ mergeAttribs.add(null);
+ }
+ mergeAttribs.add(new HashMap<Attribute,Object>(attributes));
+ mergeAttributes(mergeAttribs, mergeRanges);
}
private void debug(String s)
@@ -501,7 +520,7 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
private void dumpTable()
{
- int start_range = 0;
+ int startRange = 0;
if (!DEBUG)
return;
@@ -509,15 +528,15 @@ public class FormatCharacterIterator implements AttributedCharacterIterator
System.out.println("Dumping internal table:");
for (int i = 0; i < ranges.length; i++)
{
- System.out.print("\t" + start_range + " => " + ranges[i] + ":");
- if (attributes[i] == null)
+ System.out.print("\t" + startRange + " => " + ranges[i] + ":");
+ if (attributes.get(i) == null)
System.out.println("null");
else
{
- Set keyset = attributes[i].keySet();
+ Set<Attribute> keyset = attributes.get(i).keySet();
if (keyset != null)
{
- Iterator keys = keyset.iterator();
+ Iterator<Attribute> keys = keyset.iterator();
while (keys.hasNext())
System.out.print(" " + keys.next());
diff --git a/libjava/classpath/gnu/java/text/StringFormatBuffer.java b/libjava/classpath/gnu/java/text/StringFormatBuffer.java
index 2367fccb39e..8374500ea25 100644
--- a/libjava/classpath/gnu/java/text/StringFormatBuffer.java
+++ b/libjava/classpath/gnu/java/text/StringFormatBuffer.java
@@ -1,5 +1,5 @@
/* StringFormatBuffer.java -- Implements FormatBuffer using StringBuffer.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,7 +37,10 @@ exception statement from your version. */
package gnu.java.text;
import java.text.AttributedCharacterIterator;
-import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.text.AttributedCharacterIterator.Attribute;
/**
* This class is an implementation of a FormatBuffer without attributes.
@@ -48,7 +51,7 @@ import java.util.HashMap;
public class StringFormatBuffer implements FormatBuffer
{
private final StringBuffer buffer;
- private AttributedCharacterIterator.Attribute defaultAttr;
+ private Attribute defaultAttr;
public StringFormatBuffer(int prebuffer)
{
@@ -65,12 +68,12 @@ public class StringFormatBuffer implements FormatBuffer
buffer.append(s);
}
- public void append(String s, AttributedCharacterIterator.Attribute attr)
+ public void append(String s, Attribute attr)
{
buffer.append(s);
}
- public void append(String s, int[] ranges, HashMap[] attrs)
+ public void append(String s, int[] ranges, List<Map<Attribute,Object>> attrs)
{
buffer.append(s);
}
@@ -80,17 +83,17 @@ public class StringFormatBuffer implements FormatBuffer
buffer.append(c);
}
- public void append(char c, AttributedCharacterIterator.Attribute attr)
+ public void append(char c, Attribute attr)
{
buffer.append(c);
}
- public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr)
+ public void setDefaultAttribute(Attribute attr)
{
defaultAttr = attr;
}
- public AttributedCharacterIterator.Attribute getDefaultAttribute()
+ public Attribute getDefaultAttribute()
{
return defaultAttr;
}
diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java
index 605c6dfb791..ca7b046f25a 100644
--- a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java
+++ b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java
@@ -1,5 +1,5 @@
/* DSSIMidiDeviceProvider.java -- DSSI Device Provider
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -69,13 +69,16 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider
*/
private static class DSSIInfo extends Info
{
+ String copyright;
String soname;
long index;
- public DSSIInfo(String name, String vendor, String description,
- String version, String soname, long index)
+ public DSSIInfo(String name, String vendor, String label,
+ String copyright, String version,
+ String soname, long index)
{
- super(name, vendor, description, version);
+ super(name, vendor, label, version);
+ this.copyright = copyright;
this.soname = soname;
this.index = index;
}
@@ -89,9 +92,9 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider
static native String getDSSIVendor_(long handle);
static native String getDSSILabel_(long handle);
- private static List examineLibrary(String soname)
+ private static List<DSSIInfo> examineLibrary(String soname)
{
- List list = new ArrayList();
+ List<DSSIInfo> list = new ArrayList<DSSIInfo>();
long index = 0;
long handle;
@@ -107,7 +110,7 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider
String copyright = getDSSICopyright_(handle);
String label = getDSSIName_(handle);
String vendor = getDSSIVendor_(handle);
- list.add(new DSSIInfo(name, vendor, label,
+ list.add(new DSSIInfo(name, vendor, label, copyright,
"DSSI-1", soname, index));
index++;
} while (true);
@@ -133,10 +136,10 @@ public class DSSIMidiDeviceProvider extends MidiDeviceProvider
return n.endsWith(".so");
}
});
- List ilist = new ArrayList();
+ List<DSSIInfo> ilist = new ArrayList<DSSIInfo>();
for (int i = 0; i < sofiles.length; i++)
ilist.addAll(examineLibrary(new File(dssidir, sofiles[i]).getAbsolutePath()));
- infos = (DSSIInfo[]) ilist.toArray(new DSSIInfo[ilist.size()]);
+ infos = ilist.toArray(new DSSIInfo[ilist.size()]);
}
public DSSIMidiDeviceProvider()
diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java
index 9472ee4adcc..1ae1fe87a58 100644
--- a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java
+++ b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java
@@ -1,5 +1,5 @@
/* DSSISynthesizer.java -- DSSI Synthesizer Provider
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -97,8 +97,8 @@ public class DSSISynthesizer implements Synthesizer
{
private String name;
private String description;
- private List instruments = new ArrayList();
- private List resources = new ArrayList();
+ private List<Instrument> instruments = new ArrayList<Instrument>();
+ private List<SoundbankResource> resources = new ArrayList<SoundbankResource>();
private String vendor;
private String version;
@@ -147,27 +147,25 @@ public class DSSISynthesizer implements Synthesizer
*/
public SoundbankResource[] getResources()
{
- return (SoundbankResource[])
- resources.toArray(new SoundbankResource[resources.size()]);
+ return resources.toArray(new SoundbankResource[resources.size()]);
}
/* @see javax.sound.midi.Soundbank#getInstruments()
*/
public Instrument[] getInstruments()
{
- return (Instrument[])
- instruments.toArray(new Instrument[instruments.size()]);
+ return instruments.toArray(new Instrument[instruments.size()]);
}
/* @see javax.sound.midi.Soundbank#getInstrument(javax.sound.midi.Patch)
*/
public Instrument getInstrument(Patch patch)
{
- Iterator itr = instruments.iterator();
+ Iterator<Instrument> itr = instruments.iterator();
while (itr.hasNext())
{
- Instrument i = (Instrument) itr.next();
+ Instrument i = itr.next();
if (i.getPatch().equals(patch))
return i;
}
@@ -490,7 +488,7 @@ public class DSSISynthesizer implements Synthesizer
MidiChannel channels[] = new MidiChannel[16];
// The list of known soundbanks, and the default one.
- List soundbanks = new ArrayList();
+ List<Soundbank> soundbanks = new ArrayList<Soundbank>();
DSSISoundbank defaultSoundbank;
/**
@@ -616,17 +614,16 @@ public class DSSISynthesizer implements Synthesizer
*/
public Instrument[] getAvailableInstruments()
{
- List instruments = new ArrayList();
- Iterator itr = soundbanks.iterator();
+ List<Instrument> instruments = new ArrayList<Instrument>();
+ Iterator<Soundbank> itr = soundbanks.iterator();
while (itr.hasNext())
{
- Soundbank sb = (Soundbank) itr.next();
+ Soundbank sb = itr.next();
Instrument ins[] = sb.getInstruments();
for (int i = 0; i < ins.length; i++)
instruments.add(ins[i]);
}
- return (Instrument[])
- instruments.toArray(new Instrument[instruments.size()]);
+ return instruments.toArray(new Instrument[instruments.size()]);
}
/* (non-Javadoc)
diff --git a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java
index fb2a472fa24..06f29af0f55 100644
--- a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java
+++ b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileReader.java
@@ -1,5 +1,5 @@
/* MidiFileReader.java -- Read MIDI files.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -198,7 +198,7 @@ public class MidiFileReader extends javax.sound.midi.spi.MidiFileReader
int Mtrk = din.readInt();
if (Mtrk != 0x4d54726b)
throw new InvalidMidiDataException("Invalid MIDI track header.");
- int length = din.readInt();
+ din.readInt(); // length
int runningStatus = -1;
int click = 0;
diff --git a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java
index 5170fc1e7df..f3194cb1ed4 100644
--- a/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java
+++ b/libjava/classpath/gnu/javax/sound/midi/file/MidiFileWriter.java
@@ -1,5 +1,5 @@
/* MidiFileWriter.java -- Write MIDI files.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -118,7 +118,7 @@ public class MidiFileWriter
*/
private int computeTrackLength(Track track, MidiDataOutputStream dos)
{
- int count = 0, length = 0, i = 0, eventCount = track.size();
+ int length = 0, i = 0, eventCount = track.size();
long ptick = 0;
while (i < eventCount)
{
diff --git a/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java b/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java
index 5cd6efe5e02..f03bc4790ad 100644
--- a/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java
+++ b/libjava/classpath/gnu/javax/sound/sampled/WAV/WAVReader.java
@@ -1,5 +1,5 @@
/* WAVReader.java -- Read WAV files.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -128,7 +128,7 @@ public class WAVReader extends AudioFileReader
boolean foundFmt = false;
boolean foundData = false;
- short compressionCode = 0, numberChannels = 0, blockAlign = 0, bitsPerSample = 0;
+ short compressionCode = 0, numberChannels = 0, bitsPerSample = 0;
long sampleRate = 0, bytesPerSecond = 0;
long chunkLength = 0;
@@ -144,7 +144,7 @@ public class WAVReader extends AudioFileReader
numberChannels = readUnsignedShortLE(din);
sampleRate = readUnsignedIntLE(din);
bytesPerSecond = readUnsignedIntLE(din);
- blockAlign = readUnsignedShortLE(din);
+ readUnsignedShortLE(din); // blockAlign
bitsPerSample = readUnsignedShortLE(din);
din.skip(chunkLength - 16);
break;
diff --git a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java
index 1910ea655dd..b2ca7cd4b4c 100644
--- a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java
+++ b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java
@@ -1,5 +1,5 @@
/* GStreamerMixer.java -- Mixer implementation.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -92,7 +92,7 @@ public class GStreamerMixer
// and see if there is one matching the given line
// if the format comes from the gstreamer backend
// gstreamer will be able to deal with it
- Class clazz = info.getLineClass();
+ Class<?> clazz = info.getLineClass();
DataLine.Info _info = (DataLine.Info) info;
if (clazz == SourceDataLine.class)
diff --git a/libjava/classpath/gnu/xml/transform/SAXSerializer.java b/libjava/classpath/gnu/xml/transform/SAXSerializer.java
index 2bd1f97abd2..3ea423410a5 100644
--- a/libjava/classpath/gnu/xml/transform/SAXSerializer.java
+++ b/libjava/classpath/gnu/xml/transform/SAXSerializer.java
@@ -200,7 +200,8 @@ class SAXSerializer
public String getValue(String qName)
{
- return attrs.getNamedItem(qName).getNodeValue();
+ Attr attr = (Attr) attrs.getNamedItem(qName);
+ return (attr == null) ? null : attr.getNodeValue();
}
void serialize(Node node, ContentHandler ch, LexicalHandler lh)
diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in
index 1039aee441d..138e477b450 100644
--- a/libjava/classpath/include/Makefile.in
+++ b/libjava/classpath/include/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -169,6 +168,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/install-sh b/libjava/classpath/install-sh
index a9244eb0786..6781b987bdb 100755
--- a/libjava/classpath/install-sh
+++ b/libjava/classpath/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,10 +156,6 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
- # Protect names problematic for `test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
shift;;
-T) no_target_directory=true;;
@@ -190,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for `test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
done
fi
@@ -208,11 +200,7 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
- do_exit='(exit $ret); exit $ret'
- trap "ret=129; $do_exit" 1
- trap "ret=130; $do_exit" 2
- trap "ret=141; $do_exit" 13
- trap "ret=143; $do_exit" 15
+ trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -240,9 +228,9 @@ fi
for src
do
- # Protect names problematic for `test' and other utilities.
+ # Protect names starting with `-'.
case $src in
- -* | [=\(\)!]) src=./$src;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -264,7 +252,12 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
+
dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -392,7 +385,7 @@ do
case $dstdir in
/*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
+ -*) prefix='./';;
*) prefix='';;
esac
@@ -410,7 +403,7 @@ do
for d
do
- test X"$d" = X && continue
+ test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
diff --git a/libjava/classpath/java/awt/geom/Area.java b/libjava/classpath/java/awt/geom/Area.java
index a1eaf63f3c3..51f914f288f 100644
--- a/libjava/classpath/java/awt/geom/Area.java
+++ b/libjava/classpath/java/awt/geom/Area.java
@@ -91,18 +91,18 @@ public class Area implements Shape, Cloneable
* Segment vectors containing solid areas and holes
* This is package-private to avoid an accessor method.
*/
- Vector solids;
+ Vector<Segment> solids;
/**
* Segment vectors containing solid areas and holes
* This is package-private to avoid an accessor method.
*/
- Vector holes;
+ Vector<Segment> holes;
/**
* Vector (temporary) storing curve-curve intersections
*/
- private Vector cc_intersections;
+ private Vector<double[]> ccIntersections;
/**
* Winding rule WIND_NON_ZERO used, after construction,
@@ -115,8 +115,8 @@ public class Area implements Shape, Cloneable
*/
public Area()
{
- solids = new Vector();
- holes = new Vector();
+ solids = new Vector<Segment>();
+ holes = new Vector<Segment>();
}
/**
@@ -135,7 +135,7 @@ public class Area implements Shape, Cloneable
{
this();
- Vector p = makeSegment(s);
+ Vector<Segment> p = makeSegment(s);
// empty path
if (p == null)
@@ -143,7 +143,7 @@ public class Area implements Shape, Cloneable
// delete empty paths
for (int i = 0; i < p.size(); i++)
- if (((Segment) p.elementAt(i)).getSignedArea() == 0.0)
+ if (p.elementAt(i).getSignedArea() == 0.0)
p.remove(i--);
/*
@@ -157,12 +157,11 @@ public class Area implements Shape, Cloneable
* 4: Repeat (3) until no segments remain in the list
* 5: Remove redundant paths and sort into solids and holes
*/
- Vector paths = new Vector();
Segment v;
for (int i = 0; i < p.size(); i++)
{
- Segment path = (Segment) p.elementAt(i);
+ Segment path = p.elementAt(i);
createNodesSelf(path);
}
@@ -171,18 +170,18 @@ public class Area implements Shape, Cloneable
for (int i = 0; i < p.size() - 1; i++)
for (int j = i + 1; j < p.size(); j++)
{
- Segment path1 = (Segment) p.elementAt(i);
- Segment path2 = (Segment) p.elementAt(j);
+ Segment path1 = p.elementAt(i);
+ Segment path2 = p.elementAt(j);
createNodes(path1, path2);
}
}
// we have intersecting points.
- Vector segments = new Vector();
+ Vector<Segment> segments = new Vector<Segment>();
for (int i = 0; i < p.size(); i++)
{
- Segment path = v = (Segment) p.elementAt(i);
+ Segment path = v = p.elementAt(i);
do
{
segments.add(v);
@@ -191,7 +190,7 @@ public class Area implements Shape, Cloneable
while (v != path);
}
- paths = weilerAtherton(segments);
+ Vector<Segment> paths = weilerAtherton(segments);
deleteRedundantPaths(paths);
}
@@ -208,36 +207,34 @@ public class Area implements Shape, Cloneable
Area B = (Area) area.clone();
- Vector pathA = new Vector();
- Vector pathB = new Vector();
+ Vector<Segment> pathA = new Vector<Segment>();
+ Vector<Segment> pathB = new Vector<Segment>();
pathA.addAll(solids);
pathA.addAll(holes);
pathB.addAll(B.solids);
pathB.addAll(B.holes);
- int nNodes = 0;
-
for (int i = 0; i < pathA.size(); i++)
{
- Segment a = (Segment) pathA.elementAt(i);
+ Segment a = pathA.elementAt(i);
for (int j = 0; j < pathB.size(); j++)
{
- Segment b = (Segment) pathB.elementAt(j);
- nNodes += createNodes(a, b);
+ Segment b = pathB.elementAt(j);
+ createNodes(a, b);
}
}
- Vector paths = new Vector();
+ Vector<Segment> paths = new Vector<Segment>();
Segment v;
// we have intersecting points.
- Vector segments = new Vector();
+ Vector<Segment> segments = new Vector<Segment>();
// In a union operation, we keep all
// segments of A oustide B and all B outside A
for (int i = 0; i < pathA.size(); i++)
{
- v = (Segment) pathA.elementAt(i);
+ v = pathA.elementAt(i);
Segment path = v;
do
{
@@ -250,7 +247,7 @@ public class Area implements Shape, Cloneable
for (int i = 0; i < pathB.size(); i++)
{
- v = (Segment) pathB.elementAt(i);
+ v = pathB.elementAt(i);
Segment path = v;
do
{
@@ -281,7 +278,7 @@ public class Area implements Shape, Cloneable
return;
}
- Vector pathA = new Vector();
+ Vector<Segment> pathA = new Vector<Segment>();
Area B = (Area) area.clone();
pathA.addAll(solids);
pathA.addAll(holes);
@@ -290,27 +287,23 @@ public class Area implements Shape, Cloneable
setDirection(B.holes, true);
setDirection(B.solids, false);
- Vector pathB = new Vector();
+ Vector<Segment> pathB = new Vector<Segment>();
pathB.addAll(B.solids);
pathB.addAll(B.holes);
- int nNodes = 0;
-
// create nodes
for (int i = 0; i < pathA.size(); i++)
{
- Segment a = (Segment) pathA.elementAt(i);
+ Segment a = pathA.elementAt(i);
for (int j = 0; j < pathB.size(); j++)
{
- Segment b = (Segment) pathB.elementAt(j);
- nNodes += createNodes(a, b);
+ Segment b = pathB.elementAt(j);
+ createNodes(a, b);
}
}
- Vector paths = new Vector();
-
// we have intersecting points.
- Vector segments = new Vector();
+ Vector<Segment> segments = new Vector<Segment>();
// In a subtraction operation, we keep all
// segments of A oustide B and all B within A
@@ -318,7 +311,7 @@ public class Area implements Shape, Cloneable
// and the segments before and after any node
for (int i = 0; i < pathA.size(); i++)
{
- Segment v = (Segment) pathA.elementAt(i);
+ Segment v = pathA.elementAt(i);
Segment path = v;
if (v.isSegmentOutside(area) && v.node == null)
segments.add(v);
@@ -357,7 +350,7 @@ public class Area implements Shape, Cloneable
while (v != path);
}
- paths = weilerAtherton(segments);
+ Vector<Segment> paths = weilerAtherton(segments);
deleteRedundantPaths(paths);
}
@@ -376,32 +369,28 @@ public class Area implements Shape, Cloneable
if (equals(area))
return;
- Vector pathA = new Vector();
+ Vector<Segment> pathA = new Vector<Segment>();
Area B = (Area) area.clone();
pathA.addAll(solids);
pathA.addAll(holes);
- Vector pathB = new Vector();
+ Vector<Segment> pathB = new Vector<Segment>();
pathB.addAll(B.solids);
pathB.addAll(B.holes);
- int nNodes = 0;
-
// create nodes
for (int i = 0; i < pathA.size(); i++)
{
- Segment a = (Segment) pathA.elementAt(i);
+ Segment a = pathA.elementAt(i);
for (int j = 0; j < pathB.size(); j++)
{
- Segment b = (Segment) pathB.elementAt(j);
- nNodes += createNodes(a, b);
+ Segment b = pathB.elementAt(j);
+ createNodes(a, b);
}
}
- Vector paths = new Vector();
-
// we have intersecting points.
- Vector segments = new Vector();
+ Vector<Segment> segments = new Vector<Segment>();
// In an intersection operation, we keep all
// segments of A within B and all B within A
@@ -410,7 +399,7 @@ public class Area implements Shape, Cloneable
// and the segments before and after any node
for (int i = 0; i < pathA.size(); i++)
{
- Segment v = (Segment) pathA.elementAt(i);
+ Segment v = pathA.elementAt(i);
Segment path = v;
if (! v.isSegmentOutside(area) && v.node == null)
segments.add(v);
@@ -430,7 +419,7 @@ public class Area implements Shape, Cloneable
for (int i = 0; i < pathB.size(); i++)
{
- Segment v = (Segment) pathB.elementAt(i);
+ Segment v = pathB.elementAt(i);
Segment path = v;
if (! v.isSegmentOutside(this) && v.node == null)
segments.add(v);
@@ -449,7 +438,7 @@ public class Area implements Shape, Cloneable
while (v != path);
}
- paths = weilerAtherton(segments);
+ Vector<Segment> paths = weilerAtherton(segments);
deleteRedundantPaths(paths);
}
@@ -476,10 +465,10 @@ public class Area implements Shape, Cloneable
return;
}
- Vector pathA = new Vector();
+ Vector<Segment> pathA = new Vector<Segment>();
Area B = (Area) area.clone();
- Vector pathB = new Vector();
+ Vector<Segment> pathB = new Vector<Segment>();
pathA.addAll(solids);
pathA.addAll(holes);
@@ -489,28 +478,25 @@ public class Area implements Shape, Cloneable
pathB.addAll(B.solids);
pathB.addAll(B.holes);
- int nNodes = 0;
-
for (int i = 0; i < pathA.size(); i++)
{
- Segment a = (Segment) pathA.elementAt(i);
+ Segment a = pathA.elementAt(i);
for (int j = 0; j < pathB.size(); j++)
{
- Segment b = (Segment) pathB.elementAt(j);
- nNodes += createNodes(a, b);
+ Segment b = pathB.elementAt(j);
+ createNodes(a, b);
}
}
- Vector paths = new Vector();
Segment v;
// we have intersecting points.
- Vector segments = new Vector();
+ Vector<Segment> segments = new Vector<Segment>();
// In an XOR operation, we operate on all segments
for (int i = 0; i < pathA.size(); i++)
{
- v = (Segment) pathA.elementAt(i);
+ v = pathA.elementAt(i);
Segment path = v;
do
{
@@ -522,7 +508,7 @@ public class Area implements Shape, Cloneable
for (int i = 0; i < pathB.size(); i++)
{
- v = (Segment) pathB.elementAt(i);
+ v = pathB.elementAt(i);
Segment path = v;
do
{
@@ -532,7 +518,7 @@ public class Area implements Shape, Cloneable
while (v != path);
}
- paths = weilerAtherton(segments);
+ Vector<Segment> paths = weilerAtherton(segments);
deleteRedundantPaths(paths);
}
@@ -541,8 +527,8 @@ public class Area implements Shape, Cloneable
*/
public void reset()
{
- solids = new Vector();
- holes = new Vector();
+ solids = new Vector<Segment>();
+ holes = new Vector<Segment>();
}
/**
@@ -556,9 +542,9 @@ public class Area implements Shape, Cloneable
double totalArea = 0;
for (int i = 0; i < solids.size(); i++)
- totalArea += Math.abs(((Segment) solids.elementAt(i)).getSignedArea());
+ totalArea += Math.abs(solids.elementAt(i).getSignedArea());
for (int i = 0; i < holes.size(); i++)
- totalArea -= Math.abs(((Segment) holes.elementAt(i)).getSignedArea());
+ totalArea -= Math.abs(holes.elementAt(i).getSignedArea());
if (totalArea <= EPSILON)
return true;
@@ -572,10 +558,10 @@ public class Area implements Shape, Cloneable
public boolean isPolygonal()
{
for (int i = 0; i < holes.size(); i++)
- if (! ((Segment) holes.elementAt(i)).isPolygonal())
+ if (!holes.elementAt(i).isPolygonal())
return false;
for (int i = 0; i < solids.size(); i++)
- if (! ((Segment) solids.elementAt(i)).isPolygonal())
+ if (!solids.elementAt(i).isPolygonal())
return false;
return true;
}
@@ -599,7 +585,7 @@ public class Area implements Shape, Cloneable
if (holes.size() != 0 || solids.size() != 1)
return false;
- Segment path = (Segment) solids.elementAt(0);
+ Segment path = solids.elementAt(0);
if (! path.isPolygonal())
return false;
@@ -657,12 +643,12 @@ public class Area implements Shape, Cloneable
double xmax;
double ymin;
double ymax;
- xmin = xmax = ((Segment) solids.elementAt(0)).P1.getX();
- ymin = ymax = ((Segment) solids.elementAt(0)).P1.getY();
+ xmin = xmax = solids.elementAt(0).P1.getX();
+ ymin = ymax = solids.elementAt(0).P1.getY();
for (int path = 0; path < solids.size(); path++)
{
- Rectangle2D r = ((Segment) solids.elementAt(path)).getPathBounds();
+ Rectangle2D r = solids.elementAt(path).getPathBounds();
xmin = Math.min(r.getMinX(), xmin);
ymin = Math.min(r.getMinY(), ymin);
xmax = Math.max(r.getMaxX(), xmax);
@@ -696,9 +682,9 @@ public class Area implements Shape, Cloneable
{
Area clone = new Area();
for (int i = 0; i < solids.size(); i++)
- clone.solids.add(((Segment) solids.elementAt(i)).cloneSegmentList());
+ clone.solids.add(solids.elementAt(i).cloneSegmentList());
for (int i = 0; i < holes.size(); i++)
- clone.holes.add(((Segment) holes.elementAt(i)).cloneSegmentList());
+ clone.holes.add(holes.elementAt(i).cloneSegmentList());
return clone;
}
catch (CloneNotSupportedException e)
@@ -727,10 +713,10 @@ public class Area implements Shape, Cloneable
|| holes.size() != area.holes.size())
return false;
- Vector pathA = new Vector();
+ Vector<Segment> pathA = new Vector<Segment>();
pathA.addAll(solids);
pathA.addAll(holes);
- Vector pathB = new Vector();
+ Vector<Segment> pathB = new Vector<Segment>();
pathB.addAll(area.solids);
pathB.addAll(area.holes);
@@ -741,8 +727,8 @@ public class Area implements Shape, Cloneable
{
for (int j = 0; j < nPaths; j++)
{
- Segment p1 = (Segment) pathA.elementAt(i);
- Segment p2 = (Segment) pathB.elementAt(j);
+ Segment p1 = pathA.elementAt(i);
+ Segment p2 = pathB.elementAt(j);
if (! match[0][i] && ! match[1][j])
if (p1.pathEquals(p2))
match[0][i] = match[1][j] = true;
@@ -763,9 +749,9 @@ public class Area implements Shape, Cloneable
public void transform(AffineTransform at)
{
for (int i = 0; i < solids.size(); i++)
- ((Segment) solids.elementAt(i)).transformSegmentList(at);
+ solids.elementAt(i).transformSegmentList(at);
for (int i = 0; i < holes.size(); i++)
- ((Segment) holes.elementAt(i)).transformSegmentList(at);
+ holes.elementAt(i).transformSegmentList(at);
// Note that the orientation is not invariant under inversion
if ((at.getType() & AffineTransform.TYPE_FLIP) != 0)
@@ -800,11 +786,11 @@ public class Area implements Shape, Cloneable
{
int n = 0;
for (int i = 0; i < solids.size(); i++)
- if (((Segment) solids.elementAt(i)).contains(x, y))
+ if (solids.elementAt(i).contains(x, y))
n++;
for (int i = 0; i < holes.size(); i++)
- if (((Segment) holes.elementAt(i)).contains(x, y))
+ if (holes.elementAt(i).contains(x, y))
n--;
return (n != 0);
@@ -854,7 +840,7 @@ public class Area implements Shape, Cloneable
{
Segment v;
Segment start;
- start = v = (Segment) solids.elementAt(path);
+ start = v = solids.elementAt(path);
do
{
if (l[i].hasIntersections(v))
@@ -867,7 +853,7 @@ public class Area implements Shape, Cloneable
{
Segment v;
Segment start;
- start = v = (Segment) holes.elementAt(path);
+ start = v = holes.elementAt(path);
do
{
if (l[i].hasIntersections(v))
@@ -886,7 +872,7 @@ public class Area implements Shape, Cloneable
// but encloses a hole?
Rectangle2D r = new Rectangle2D.Double(x, y, w, h);
for (int path = 0; path < holes.size(); path++)
- if (! ((Segment) holes.elementAt(path)).isSegmentOutside(r))
+ if (! holes.elementAt(path).isSegmentOutside(r))
return false;
return true;
@@ -938,7 +924,7 @@ public class Area implements Shape, Cloneable
{
Segment v;
Segment start;
- start = v = (Segment) solids.elementAt(path);
+ start = v = solids.elementAt(path);
do
{
if (l[i].hasIntersections(v))
@@ -951,7 +937,7 @@ public class Area implements Shape, Cloneable
{
Segment v;
Segment start;
- start = v = (Segment) holes.elementAt(path);
+ start = v = holes.elementAt(path);
do
{
if (l[i].hasIntersections(v))
@@ -967,7 +953,7 @@ public class Area implements Shape, Cloneable
return true;
// What if the rectangle encloses the whole shape?
- Point2D p = ((Segment) solids.elementAt(0)).getMidPoint();
+ Point2D p = solids.elementAt(0).getMidPoint();
if ((new Rectangle2D.Double(x, y, w, h)).contains(p))
return true;
return false;
@@ -1020,7 +1006,7 @@ public class Area implements Shape, Cloneable
*/
private class AreaIterator implements PathIterator
{
- private Vector segments;
+ private Vector<IteratorSegment> segments;
private int index;
private AffineTransform at;
@@ -1045,14 +1031,14 @@ public class Area implements Shape, Cloneable
{
this.at = at;
index = 0;
- segments = new Vector();
- Vector allpaths = new Vector();
+ segments = new Vector<IteratorSegment>();
+ Vector<Segment> allpaths = new Vector<Segment>();
allpaths.addAll(solids);
allpaths.addAll(holes);
for (int i = 0; i < allpaths.size(); i++)
{
- Segment v = (Segment) allpaths.elementAt(i);
+ Segment v = allpaths.elementAt(i);
Segment start = v;
IteratorSegment is = new IteratorSegment();
@@ -1078,7 +1064,7 @@ public class Area implements Shape, Cloneable
public int currentSegment(double[] coords)
{
- IteratorSegment s = (IteratorSegment) segments.elementAt(index);
+ IteratorSegment s = segments.elementAt(index);
if (at != null)
at.transform(s.coords, 0, coords, 0, 3);
else
@@ -1089,7 +1075,7 @@ public class Area implements Shape, Cloneable
public int currentSegment(float[] coords)
{
- IteratorSegment s = (IteratorSegment) segments.elementAt(index);
+ IteratorSegment s = segments.elementAt(index);
double[] d = new double[6];
if (at != null)
{
@@ -1129,13 +1115,13 @@ public class Area implements Shape, Cloneable
*
* Returns a Vector of the resulting paths.
*/
- private Vector weilerAtherton(Vector segments)
+ private Vector<Segment> weilerAtherton(Vector<Segment> segments)
{
- Vector paths = new Vector();
+ Vector<Segment> paths = new Vector<Segment>();
while (segments.size() > 0)
{
// Iterate over the path
- Segment start = (Segment) segments.elementAt(0);
+ Segment start = segments.elementAt(0);
Segment s = start;
do
{
@@ -1252,7 +1238,7 @@ public class Area implements Shape, Cloneable
double[] temp = new double[2];
temp[0] = t1 + s * w1;
temp[1] = t2 + t * w1;
- cc_intersections.add(temp);
+ ccIntersections.add(temp);
return;
}
@@ -1328,28 +1314,28 @@ public class Area implements Shape, Cloneable
if (! r1.intersects(r2))
return null;
- cc_intersections = new Vector();
+ ccIntersections = new Vector<double[]>();
recursiveSubdivide(curve1.getCubicCurve2D(), curve2.getCubicCurve2D(),
getRecursionDepth(curve1), getRecursionDepth(curve2),
0.0, 0.0, 1.0, 1.0);
- if (cc_intersections.size() == 0)
+ if (ccIntersections.size() == 0)
return null;
- Intersection[] results = new Intersection[cc_intersections.size()];
- for (int i = 0; i < cc_intersections.size(); i++)
+ Intersection[] results = new Intersection[ccIntersections.size()];
+ for (int i = 0; i < ccIntersections.size(); i++)
{
- double[] temp = (double[]) cc_intersections.elementAt(i);
+ double[] temp = ccIntersections.elementAt(i);
results[i] = new Intersection(curve1.evaluatePoint(temp[0]), temp[0],
temp[1]);
}
- cc_intersections = null;
+ ccIntersections = null;
return (results);
}
/**
* Returns the intersections between a line and a quadratic bezier
- * Or null if no intersections are found1
+ * Or null if no intersections are found.
* This is done through combining the line's equation with the
* parametric form of the Bezier and solving the resulting quadratic.
* This is package-private to avoid an accessor method.
@@ -1622,9 +1608,9 @@ public class Area implements Shape, Cloneable
* Helper method
* Turns a shape into a Vector of Segments
*/
- private Vector makeSegment(Shape s)
+ private Vector<Segment> makeSegment(Shape s)
{
- Vector paths = new Vector();
+ Vector<Segment> paths = new Vector<Segment>();
PathIterator pi = s.getPathIterator(null);
double[] coords = new double[6];
Segment subpath = null;
@@ -1786,7 +1772,7 @@ public class Area implements Shape, Cloneable
}
while (a != A); // until one wrap.
- return (nNodes);
+ return nNodes;
}
/**
@@ -1824,7 +1810,7 @@ public class Area implements Shape, Cloneable
* solid areas) Clears any nodes. Sorts the remaining paths into solids
* and holes, sets their orientation and sets the solids and holes lists.
*/
- private void deleteRedundantPaths(Vector paths)
+ private void deleteRedundantPaths(Vector<Segment> paths)
{
int npaths = paths.size();
@@ -1836,19 +1822,19 @@ public class Area implements Shape, Cloneable
neg = ((windingRule == PathIterator.WIND_NON_ZERO) ? -1 : 1);
for (int i = 0; i < npaths; i++)
- bb[i] = ((Segment) paths.elementAt(i)).getPathBounds();
+ bb[i] = paths.elementAt(i).getPathBounds();
// Find which path contains which, assign winding numbers
for (int i = 0; i < npaths; i++)
{
- Segment pathA = (Segment) paths.elementAt(i);
+ Segment pathA = paths.elementAt(i);
pathA.nullNodes(); // remove any now-redundant nodes, in case.
int windingA = pathA.hasClockwiseOrientation() ? 1 : neg;
for (int j = 0; j < npaths; j++)
if (i != j)
{
- Segment pathB = (Segment) paths.elementAt(j);
+ Segment pathB = paths.elementAt(j);
// A contains B
if (bb[i].intersects(bb[j]))
@@ -1876,8 +1862,8 @@ public class Area implements Shape, Cloneable
windingNumbers[i][1] = contains[i][i];
}
- Vector solids = new Vector();
- Vector holes = new Vector();
+ Vector<Segment> solids = new Vector<Segment>();
+ Vector<Segment> holes = new Vector<Segment>();
if (windingRule == PathIterator.WIND_NON_ZERO)
{
@@ -1913,12 +1899,12 @@ public class Area implements Shape, Cloneable
* @param clockwise gives the direction,
* true = clockwise, false = counter-clockwise
*/
- private void setDirection(Vector paths, boolean clockwise)
+ private void setDirection(Vector<Segment> paths, boolean clockwise)
{
Segment v;
for (int i = 0; i < paths.size(); i++)
{
- v = (Segment) paths.elementAt(i);
+ v = paths.elementAt(i);
if (clockwise != v.hasClockwiseOrientation())
v.reverseAll();
}
@@ -2157,7 +2143,7 @@ public class Area implements Shape, Cloneable
*/
Segment cloneSegmentList() throws CloneNotSupportedException
{
- Vector list = new Vector();
+ Vector<Segment> list = new Vector<Segment>();
Segment v = next;
while (v != this)
@@ -2170,7 +2156,7 @@ public class Area implements Shape, Cloneable
v = clone;
for (int i = 0; i < list.size(); i++)
{
- clone.next = (Segment) ((Segment) list.elementAt(i)).clone();
+ clone.next = (Segment) list.elementAt(i).clone();
clone = clone.next;
}
clone.next = v;
@@ -2209,7 +2195,7 @@ public class Area implements Shape, Cloneable
*/
protected int createNodes(Segment b, Intersection[] x)
{
- Vector v = new Vector();
+ Vector<Intersection> v = new Vector<Intersection>();
for (int i = 0; i < x.length; i++)
{
Point2D p = x[i].p;
@@ -2222,7 +2208,7 @@ public class Area implements Shape, Cloneable
Intersection[] A = new Intersection[nNodes];
Intersection[] B = new Intersection[nNodes];
for (int i = 0; i < nNodes; i++)
- A[i] = B[i] = (Intersection) v.elementAt(i);
+ A[i] = B[i] = v.elementAt(i);
// Create two lists sorted by the parameter
// Bubble sort, OK I suppose, since the number of intersections
diff --git a/libjava/classpath/java/beans/XMLDecoder.java b/libjava/classpath/java/beans/XMLDecoder.java
index 26896393a9e..bafafe400a9 100644
--- a/libjava/classpath/java/beans/XMLDecoder.java
+++ b/libjava/classpath/java/beans/XMLDecoder.java
@@ -104,6 +104,7 @@ import java.util.NoSuchElementException;
* @status updated to 1.5
*/
public class XMLDecoder
+ implements AutoCloseable
{
private Object owner;
diff --git a/libjava/classpath/java/beans/XMLEncoder.java b/libjava/classpath/java/beans/XMLEncoder.java
index 40cb6dbfb59..894e4b873c4 100644
--- a/libjava/classpath/java/beans/XMLEncoder.java
+++ b/libjava/classpath/java/beans/XMLEncoder.java
@@ -50,7 +50,9 @@ import java.io.OutputStream;
* @author Robert Schuster (robertschuster@fsfe.org)
* @since 1.4
*/
-public class XMLEncoder extends Encoder
+public class XMLEncoder
+ extends Encoder
+ implements AutoCloseable
{
Object owner;
diff --git a/libjava/classpath/java/io/Closeable.java b/libjava/classpath/java/io/Closeable.java
index b8523d79e63..f5f808381aa 100644
--- a/libjava/classpath/java/io/Closeable.java
+++ b/libjava/classpath/java/io/Closeable.java
@@ -48,6 +48,7 @@ package java.io;
* @since 1.5
*/
public interface Closeable
+ extends AutoCloseable
{
/**
diff --git a/libjava/classpath/java/io/ObjectInput.java b/libjava/classpath/java/io/ObjectInput.java
index f8d51e00d07..071f67d9031 100644
--- a/libjava/classpath/java/io/ObjectInput.java
+++ b/libjava/classpath/java/io/ObjectInput.java
@@ -48,7 +48,8 @@ package java.io;
*
* @see DataInput
*/
-public interface ObjectInput extends DataInput
+public interface ObjectInput
+ extends DataInput, AutoCloseable
{
/**
* This method returns the number of bytes that can be read without
diff --git a/libjava/classpath/java/io/ObjectInputStream.java b/libjava/classpath/java/io/ObjectInputStream.java
index c37f7665f1c..657072d5a30 100644
--- a/libjava/classpath/java/io/ObjectInputStream.java
+++ b/libjava/classpath/java/io/ObjectInputStream.java
@@ -529,12 +529,13 @@ public class ObjectInputStream extends InputStream
if (dump)
dumpElementln("ENUM=");
ObjectStreamClass osc = (ObjectStreamClass) readObject();
+ int enumHandle = assignNewHandle(null, shared);
String constantName = (String) readObject();
if (dump)
dumpElementln("CONSTANT NAME = " + constantName);
Class clazz = osc.forClass();
Enum instance = Enum.valueOf(clazz, constantName);
- assignNewHandle(instance,shared);
+ rememberHandle(instance, shared, enumHandle);
ret_val = instance;
break;
}
diff --git a/libjava/classpath/java/io/ObjectOutput.java b/libjava/classpath/java/io/ObjectOutput.java
index 628f8b97b86..4ec6c6f0768 100644
--- a/libjava/classpath/java/io/ObjectOutput.java
+++ b/libjava/classpath/java/io/ObjectOutput.java
@@ -48,7 +48,8 @@ package java.io;
*
* @see DataOutput
*/
-public interface ObjectOutput extends DataOutput
+public interface ObjectOutput
+ extends DataOutput, AutoCloseable
{
/**
* This method writes the specified byte to the output stream.
diff --git a/libjava/classpath/java/lang/AssertionError.java b/libjava/classpath/java/lang/AssertionError.java
index 778eb583051..cf953f4498b 100644
--- a/libjava/classpath/java/lang/AssertionError.java
+++ b/libjava/classpath/java/lang/AssertionError.java
@@ -1,5 +1,5 @@
/* AssertionError.java -- indication of a failed assertion
- Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -145,4 +145,16 @@ public class AssertionError extends Error
{
super(Double.toString(msg));
}
+
+ /**
+ * Construct an AssertionError with detail message and cause.
+ *
+ * @param msg Detail message.
+ * @param cause The cause of this exception, may be null
+ * @since 1.7
+ */
+ public AssertionError(String msg, Throwable cause)
+ {
+ super(msg, cause);
+ }
}
diff --git a/libjava/classpath/java/lang/AutoCloseable.java b/libjava/classpath/java/lang/AutoCloseable.java
new file mode 100644
index 00000000000..4c1ddaa3204
--- /dev/null
+++ b/libjava/classpath/java/lang/AutoCloseable.java
@@ -0,0 +1,50 @@
+/* AutoCloseable.java -- Resource that must be closed after it is no longer
+ used.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.lang;
+
+/**
+ * Resource that must be closed after it is no longer used.
+ *
+ * @since 1.7
+ */
+public interface AutoCloseable
+{
+ void close() throws Exception;
+}
diff --git a/libjava/classpath/java/lang/Boolean.java b/libjava/classpath/java/lang/Boolean.java
index f2eaf412592..0e4afa813bf 100644
--- a/libjava/classpath/java/lang/Boolean.java
+++ b/libjava/classpath/java/lang/Boolean.java
@@ -237,6 +237,21 @@ public final class Boolean implements Serializable, Comparable<Boolean>
}
/**
+ * Compares two unboxed boolean values.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ * @return 0 if both Booleans represent the same value, a positive number
+ * if this Boolean represents true and the other false, and a negative
+ * number otherwise.
+ * @since 1.7
+ */
+ public static int compare(boolean x, boolean y)
+ {
+ return Boolean.valueOf(x).compareTo(Boolean.valueOf(y));
+ }
+
+ /**
* If the String argument is "true", ignoring case, return true.
* Otherwise, return false.
*
diff --git a/libjava/classpath/java/lang/Byte.java b/libjava/classpath/java/lang/Byte.java
index a1536e1be1b..01e0e03d2f6 100644
--- a/libjava/classpath/java/lang/Byte.java
+++ b/libjava/classpath/java/lang/Byte.java
@@ -370,4 +370,21 @@ public final class Byte extends Number implements Comparable<Byte>
return value - b.value;
}
+ /**
+ * Compares two unboxed byte values.
+ * The result is positive if the first is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ *
+ * @return positive int if the first value is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ * @since 1.7
+ */
+ public static int compare(byte x, byte y)
+ {
+ return Byte.valueOf(x).compareTo(Byte.valueOf(y));
+ }
+
}
diff --git a/libjava/classpath/java/lang/Character.java b/libjava/classpath/java/lang/Character.java
index 05e641c3a48..f87cde62c1e 100644
--- a/libjava/classpath/java/lang/Character.java
+++ b/libjava/classpath/java/lang/Character.java
@@ -4200,6 +4200,23 @@ public final class Character implements Serializable, Comparable<Character>
}
/**
+ * Compares two unboxed char values.
+ * The result is positive if the first is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ *
+ * @return positive int if the first value is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ * @since 1.7
+ */
+ public static int compare(char x, char y)
+ {
+ return Character.valueOf(x).compareTo(Character.valueOf(y));
+ }
+
+ /**
* Returns an <code>Character</code> object wrapping the value.
* In contrast to the <code>Character</code> constructor, this method
* will cache some values. It is used by boxing conversion.
diff --git a/libjava/classpath/java/lang/ClassNotFoundException.java b/libjava/classpath/java/lang/ClassNotFoundException.java
index 142bc5d0306..fe1424dc2b1 100644
--- a/libjava/classpath/java/lang/ClassNotFoundException.java
+++ b/libjava/classpath/java/lang/ClassNotFoundException.java
@@ -1,5 +1,5 @@
/* ClassNotFoundException.java -- thrown when class definition cannot be found
- Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -47,9 +47,9 @@ package java.lang;
* @see Class#forName(String)
* @see ClassLoader#findSystemClass(String)
* @see ClassLoader#loadClass(String, boolean)
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class ClassNotFoundException extends Exception
+public class ClassNotFoundException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.0+.
diff --git a/libjava/classpath/java/lang/IllegalAccessException.java b/libjava/classpath/java/lang/IllegalAccessException.java
index a352c8b1b31..2574f66047c 100644
--- a/libjava/classpath/java/lang/IllegalAccessException.java
+++ b/libjava/classpath/java/lang/IllegalAccessException.java
@@ -1,6 +1,6 @@
/* IllegalAccessException.java -- thrown on attempt to reflect on
inaccessible data
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -71,9 +71,9 @@ import java.lang.reflect.Method;
* @see Field#getDouble(Object)
* @see Method#invoke(Object, Object[])
* @see Constructor#newInstance(Object[])
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class IllegalAccessException extends Exception
+public class IllegalAccessException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.0+.
diff --git a/libjava/classpath/java/lang/InstantiationException.java b/libjava/classpath/java/lang/InstantiationException.java
index 367b14bd278..cb2cad15432 100644
--- a/libjava/classpath/java/lang/InstantiationException.java
+++ b/libjava/classpath/java/lang/InstantiationException.java
@@ -1,6 +1,6 @@
/* InstantiationException.java -- thrown when reflection cannot create an
instance
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,9 +46,9 @@ package java.lang;
* @author Brian Jones
* @author Warren Levy (warrenl@cygnus.com)
* @see Class#newInstance()
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class InstantiationException extends Exception
+public class InstantiationException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.0+.
diff --git a/libjava/classpath/java/lang/Integer.java b/libjava/classpath/java/lang/Integer.java
index f379795ea3d..25eb5d5265d 100644
--- a/libjava/classpath/java/lang/Integer.java
+++ b/libjava/classpath/java/lang/Integer.java
@@ -586,6 +586,23 @@ public final class Integer extends Number implements Comparable<Integer>
}
/**
+ * Compares two unboxed int values.
+ * The result is positive if the first is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ *
+ * @return positive int if the first value is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ * @since 1.7
+ */
+ public static int compare(int x, int y)
+ {
+ return Integer.valueOf(x).compareTo(Integer.valueOf(y));
+ }
+
+ /**
* Return the number of bits set in x.
* @param x value to examine
* @since 1.5
diff --git a/libjava/classpath/java/lang/LinkageError.java b/libjava/classpath/java/lang/LinkageError.java
index 028702081ba..34b072572cf 100644
--- a/libjava/classpath/java/lang/LinkageError.java
+++ b/libjava/classpath/java/lang/LinkageError.java
@@ -1,6 +1,6 @@
/* LinkageError.java -- thrown when classes valid at separate compile times
cannot be linked to each other
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,7 +46,7 @@ package java.lang;
*
* @author Brian Jones
* @author Tom Tromey (tromey@cygnus.com)
- * @status updated to 1.4
+ * @status updated to 1.7
*/
public class LinkageError extends Error
{
@@ -71,4 +71,17 @@ public class LinkageError extends Error
{
super(s);
}
+
+ /**
+ * Construct an LinkageError with detail message and cause.
+ *
+ * @param msg Detail message.
+ * @param cause The cause of this exception, may be null
+ * @since 1.7
+ */
+ public LinkageError(String msg, Throwable cause)
+ {
+ super(msg, cause);
+ }
+
}
diff --git a/libjava/classpath/java/lang/Long.java b/libjava/classpath/java/lang/Long.java
index e7579d86556..6f31dfa9953 100644
--- a/libjava/classpath/java/lang/Long.java
+++ b/libjava/classpath/java/lang/Long.java
@@ -585,6 +585,23 @@ public final class Long extends Number implements Comparable<Long>
}
/**
+ * Compares two unboxed long values.
+ * The result is positive if the first is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ *
+ * @return positive int if the first value is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ * @since 1.7
+ */
+ public static int compare(long x, long y)
+ {
+ return Long.valueOf(x).compareTo(Long.valueOf(y));
+ }
+
+ /**
* Return the number of bits set in x.
* @param x value to examine
* @since 1.5
diff --git a/libjava/classpath/java/lang/NoSuchFieldException.java b/libjava/classpath/java/lang/NoSuchFieldException.java
index 74d52d137c4..b43b53206ad 100644
--- a/libjava/classpath/java/lang/NoSuchFieldException.java
+++ b/libjava/classpath/java/lang/NoSuchFieldException.java
@@ -1,5 +1,5 @@
/* NoSuchFieldException.java -- thrown when reflecting a non-existant field
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -45,9 +45,9 @@ package java.lang;
* @author Brian Jones
* @author Warren Levy (warrenl@cygnus.com)
* @since 1.1
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class NoSuchFieldException extends Exception
+public class NoSuchFieldException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.1+.
diff --git a/libjava/classpath/java/lang/NoSuchMethodException.java b/libjava/classpath/java/lang/NoSuchMethodException.java
index e423efb79f6..116238220be 100644
--- a/libjava/classpath/java/lang/NoSuchMethodException.java
+++ b/libjava/classpath/java/lang/NoSuchMethodException.java
@@ -1,5 +1,5 @@
/* NoSuchMethodException.java -- thrown when reflecting a non-existant method
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,9 +44,9 @@ package java.lang;
*
* @author Brian Jones
* @author Warren Levy (warrenl@cygnus.com)
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class NoSuchMethodException extends Exception
+public class NoSuchMethodException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.0+.
diff --git a/libjava/classpath/java/lang/ReflectiveOperationException.java b/libjava/classpath/java/lang/ReflectiveOperationException.java
new file mode 100644
index 00000000000..8b84c0e290f
--- /dev/null
+++ b/libjava/classpath/java/lang/ReflectiveOperationException.java
@@ -0,0 +1,88 @@
+/* ReflectiveOperationException.java -- thrown when reflective operation fails
+ Copyright (C) 2012 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.lang;
+
+/**
+ * This exception is thrown when reflective operations fail.
+ *
+ * @since 1.7
+ */
+public class ReflectiveOperationException extends Exception
+{
+ private static final long serialVersionUID = 123456789L;
+
+ /**
+ * Create an exception without a message.
+ */
+ public ReflectiveOperationException()
+ {
+ }
+
+ /**
+ * Create an exception with a message.
+ *
+ * @param s the message
+ */
+ public ReflectiveOperationException(String s)
+ {
+ super(s);
+ }
+
+ /**
+ * Create an exception with a message and a cause.
+ *
+ * @param s the message
+ * @param cause the cause, may be null
+ */
+ public ReflectiveOperationException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /**
+ * Create an exception with a cause.
+ *
+ * @param cause the cause, may be null
+ */
+ public ReflectiveOperationException(Throwable cause)
+ {
+ super(cause);
+ }
+
+}
diff --git a/libjava/classpath/java/lang/Short.java b/libjava/classpath/java/lang/Short.java
index ec87f933e93..fae9fe7635b 100644
--- a/libjava/classpath/java/lang/Short.java
+++ b/libjava/classpath/java/lang/Short.java
@@ -373,6 +373,23 @@ public final class Short extends Number implements Comparable<Short>
}
/**
+ * Compares two unboxed short values.
+ * The result is positive if the first is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ *
+ * @param x First value to compare.
+ * @param y Second value to compare.
+ *
+ * @return positive int if the first value is greater, negative if the second
+ * is greater, and 0 if the two are equal.
+ * @since 1.7
+ */
+ public static int compare(short x, short y)
+ {
+ return Short.valueOf(x).compareTo(Short.valueOf(y));
+ }
+
+ /**
* Reverse the bytes in val.
* @since 1.5
*/
diff --git a/libjava/classpath/java/lang/String.java b/libjava/classpath/java/lang/String.java
index 45c0daff673..27294cdd4eb 100644
--- a/libjava/classpath/java/lang/String.java
+++ b/libjava/classpath/java/lang/String.java
@@ -705,6 +705,8 @@ public final class String
*/
public synchronized int codePointAt(int index)
{
+ if (index < 0 || index >= count)
+ throw new StringIndexOutOfBoundsException(index);
// Use the CharSequence overload as we get better range checking
// this way.
return Character.codePointAt(this, index);
@@ -716,12 +718,14 @@ public final class String
* <code>index-2</code> to see if they form a supplementary code point.
* @param index the index just past the codepoint to get, starting at 0
* @return the codepoint at the specified index
- * @throws IndexOutOfBoundsException if index is negative or &gt;= length()
+ * @throws IndexOutOfBoundsException if index is less than 1 or &gt; length()
* (while unspecified, this is a StringIndexOutOfBoundsException)
* @since 1.5
*/
public synchronized int codePointBefore(int index)
{
+ if (index < 1 || index > count)
+ throw new StringIndexOutOfBoundsException(index);
// Use the CharSequence overload as we get better range checking
// this way.
return Character.codePointBefore(this, index);
diff --git a/libjava/classpath/java/lang/System.java b/libjava/classpath/java/lang/System.java
index 51b3259fa8b..9d869918300 100644
--- a/libjava/classpath/java/lang/System.java
+++ b/libjava/classpath/java/lang/System.java
@@ -97,6 +97,8 @@ public final class System
*/
public static final PrintStream out = VMSystem.makeStandardOutputStream();
+ private static final String LINE_SEPARATOR = SystemProperties.getProperty("line.separator");
+
/**
* The standard output PrintStream. This is assigned at startup and
* starts its life perfectly valid. Although it is marked final, you can
@@ -713,6 +715,16 @@ public final class System
}
/**
+ * Returns the system-dependent line separator.
+ *
+ * @return the system-dependent line separator.
+ */
+ public static String lineSeparator()
+ {
+ return LINE_SEPARATOR;
+ }
+
+ /**
* This is a specialised <code>Collection</code>, providing
* the necessary provisions for the collections used by the
* environment variable map. Namely, it prevents
diff --git a/libjava/classpath/java/lang/reflect/InvocationTargetException.java b/libjava/classpath/java/lang/reflect/InvocationTargetException.java
index af79d3a199d..4480fc6d006 100644
--- a/libjava/classpath/java/lang/reflect/InvocationTargetException.java
+++ b/libjava/classpath/java/lang/reflect/InvocationTargetException.java
@@ -1,5 +1,5 @@
/* InvocationTargetException.java -- Wrapper exception for reflection
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -50,9 +50,9 @@ package java.lang.reflect;
* @see Method#invoke(Object,Object[])
* @see Constructor#newInstance(Object[])
* @since 1.1
- * @status updated to 1.4
+ * @status updated to 1.7
*/
-public class InvocationTargetException extends Exception
+public class InvocationTargetException extends ReflectiveOperationException
{
/**
* Compatible with JDK 1.1+.
diff --git a/libjava/classpath/java/lang/reflect/Member.java b/libjava/classpath/java/lang/reflect/Member.java
index fed962cf913..945fbf69663 100644
--- a/libjava/classpath/java/lang/reflect/Member.java
+++ b/libjava/classpath/java/lang/reflect/Member.java
@@ -79,7 +79,7 @@ public interface Member
*
* @return the class that declared this member
*/
- Class getDeclaringClass();
+ Class<?> getDeclaringClass();
/**
* Gets the simple name of this member. This will be a valid Java
diff --git a/libjava/classpath/java/lang/reflect/Modifier.java b/libjava/classpath/java/lang/reflect/Modifier.java
index 15bad05e738..c75f7b81823 100644
--- a/libjava/classpath/java/lang/reflect/Modifier.java
+++ b/libjava/classpath/java/lang/reflect/Modifier.java
@@ -1,5 +1,5 @@
/* java.lang.reflect.Modifier
- Copyright (C) 1998, 1999, 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2008, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -300,6 +300,46 @@ public class Modifier
}
/**
+ * @since 1.7
+ */
+ public static int classModifiers()
+ {
+ return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | FINAL | STRICT;
+ }
+
+ /**
+ * @since 1.7
+ */
+ public static int interfaceModifiers()
+ {
+ return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | STRICT;
+ }
+
+ /**
+ * @since 1.7
+ */
+ public static int constructorModifiers()
+ {
+ return PUBLIC | PROTECTED | PRIVATE;
+ }
+
+ /**
+ * @since 1.7
+ */
+ public static int methodModifiers()
+ {
+ return PUBLIC | PROTECTED | PRIVATE | STATIC | ABSTRACT | FINAL | STRICT | SYNCHRONIZED | NATIVE;
+ }
+
+ /**
+ * @since 1.7
+ */
+ public static int fieldModifiers()
+ {
+ return PUBLIC | PROTECTED | PRIVATE | STATIC | FINAL | TRANSIENT | VOLATILE;
+ }
+
+ /**
* Get a string representation of all the modifiers represented by the
* given int. The keywords are printed in this order:
* <code>&lt;public|protected|private&gt; abstract static final transient
diff --git a/libjava/classpath/java/nio/channels/FileLock.java b/libjava/classpath/java/nio/channels/FileLock.java
index 78210b34d4d..02b561a5690 100644
--- a/libjava/classpath/java/nio/channels/FileLock.java
+++ b/libjava/classpath/java/nio/channels/FileLock.java
@@ -45,6 +45,7 @@ import java.io.IOException;
* @since 1.4
*/
public abstract class FileLock
+ implements AutoCloseable
{
private final FileChannel channel;
private final long position;
diff --git a/libjava/classpath/java/sql/Connection.java b/libjava/classpath/java/sql/Connection.java
index f3752762597..b1e7034b5a3 100644
--- a/libjava/classpath/java/sql/Connection.java
+++ b/libjava/classpath/java/sql/Connection.java
@@ -46,6 +46,7 @@ import java.util.Map;
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Connection
+ extends AutoCloseable
{
/**
* This transaction isolation level indicates that transactions are not
diff --git a/libjava/classpath/java/sql/ResultSet.java b/libjava/classpath/java/sql/ResultSet.java
index 3b49a6a0d6c..c487bed6b94 100644
--- a/libjava/classpath/java/sql/ResultSet.java
+++ b/libjava/classpath/java/sql/ResultSet.java
@@ -60,6 +60,7 @@ import java.util.Map;
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface ResultSet
+ extends AutoCloseable
{
/**
* The rows will be processed in order from first to last.
diff --git a/libjava/classpath/java/sql/Statement.java b/libjava/classpath/java/sql/Statement.java
index 1b57fb3ce3c..5f35e7b187d 100644
--- a/libjava/classpath/java/sql/Statement.java
+++ b/libjava/classpath/java/sql/Statement.java
@@ -44,6 +44,7 @@ package java.sql;
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Statement
+ extends AutoCloseable
{
int CLOSE_CURRENT_RESULT = 1;
int KEEP_CURRENT_RESULT = 2;
diff --git a/libjava/classpath/java/text/AttributedString.java b/libjava/classpath/java/text/AttributedString.java
index 7ffb3d4c073..4293d7dd253 100644
--- a/libjava/classpath/java/text/AttributedString.java
+++ b/libjava/classpath/java/text/AttributedString.java
@@ -1,5 +1,5 @@
/* AttributedString.java -- Models text with attributes
- Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2004, 2005, 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -48,6 +48,8 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import static java.text.AttributedCharacterIterator.Attribute;
+
/**
* This class models a <code>String</code> with attributes over various
* subranges of the string. It allows applications to access this
@@ -68,7 +70,7 @@ public class AttributedString
{
/** A Map of the attributes */
- Map attribs;
+ Map<? extends Attribute, ?> attribs;
/** The beginning index of the attributes */
int beginIndex;
@@ -83,7 +85,8 @@ public class AttributedString
* @param beginIndex the start index.
* @param endIndex the end index.
*/
- AttributeRange(Map attribs, int beginIndex, int endIndex)
+ AttributeRange(Map<? extends Attribute, ?> attribs,
+ int beginIndex, int endIndex)
{
this.attribs = attribs;
this.beginIndex = beginIndex;
@@ -122,7 +125,7 @@ public class AttributedString
* @param attributes The attribute list.
*/
public AttributedString(String str,
- Map<? extends AttributedCharacterIterator.Attribute, ?> attributes)
+ Map<? extends Attribute, ?> attributes)
{
this(str);
@@ -178,7 +181,7 @@ public class AttributedString
* <code>null</code> to include all attributes.
*/
public AttributedString(AttributedCharacterIterator aci, int begin, int end,
- AttributedCharacterIterator.Attribute[] attributes)
+ Attribute[] attributes)
{
// Validate some arguments
if ((begin < 0) || (end < begin) || end > aci.getEndIndex())
@@ -187,29 +190,28 @@ public class AttributedString
CPStringBuilder sb = new CPStringBuilder("");
// Get the valid attribute list
- Set allAttribs = aci.getAllAttributeKeys();
+ Set<Attribute> allAttribs = aci.getAllAttributeKeys();
if (attributes != null)
allAttribs.retainAll(Arrays.asList(attributes));
// Loop through and extract the attributes
char c = aci.setIndex(begin);
- ArrayList accum = new ArrayList();
+ ArrayList<AttributeRange> accum = new ArrayList<AttributeRange>();
do
{
sb.append(c);
- Iterator iter = allAttribs.iterator();
+ Iterator<Attribute> iter = allAttribs.iterator();
while(iter.hasNext())
{
Object obj = iter.next();
// What should we do if this is not true?
- if (!(obj instanceof AttributedCharacterIterator.Attribute))
+ if (!(obj instanceof Attribute))
continue;
- AttributedCharacterIterator.Attribute attrib =
- (AttributedCharacterIterator.Attribute)obj;
+ Attribute attrib = (Attribute)obj;
// Make sure the attribute is defined.
Object attribObj = aci.getAttribute(attrib);
@@ -237,7 +239,7 @@ public class AttributedString
}
// Create a map object. Yes this will only contain one attribute
- Map newMap = new Hashtable();
+ Map<Attribute,Object> newMap = new Hashtable<Attribute,Object>();
newMap.put(attrib, attribObj);
// Add it to the attribute list.
@@ -249,7 +251,7 @@ public class AttributedString
while( aci.getIndex() < end );
attribs = new AttributeRange[accum.size()];
- attribs = (AttributeRange[]) accum.toArray(attribs);
+ attribs = accum.toArray(attribs);
sci = new StringCharacterIterator(sb.toString());
}
@@ -260,8 +262,7 @@ public class AttributedString
* @param attrib The attribute to add.
* @param value The value of the attribute.
*/
- public void addAttribute(AttributedCharacterIterator.Attribute attrib,
- Object value)
+ public void addAttribute(Attribute attrib, Object value)
{
addAttribute(attrib, value, 0, sci.getEndIndex());
}
@@ -278,14 +279,13 @@ public class AttributedString
* @exception IllegalArgumentException If attribute is <code>null</code> or
* the subrange is not valid.
*/
- public void addAttribute(AttributedCharacterIterator.Attribute attrib,
- Object value, int begin, int end)
+ public void addAttribute(Attribute attrib, Object value, int begin, int end)
{
if (attrib == null)
throw new IllegalArgumentException("null attribute");
if (end <= begin)
throw new IllegalArgumentException("Requires end > begin");
- HashMap hm = new HashMap();
+ HashMap<Attribute,Object> hm = new HashMap<Attribute,Object>();
hm.put(attrib, value);
addAttributes(hm, begin, end);
@@ -303,7 +303,7 @@ public class AttributedString
* <code>null</code>.
* @throws IllegalArgumentException if the subrange is not valid.
*/
- public void addAttributes(Map<? extends AttributedCharacterIterator.Attribute, ?> attributes,
+ public void addAttributes(Map<? extends Attribute, ?> attributes,
int beginIndex, int endIndex)
{
if (attributes == null)
@@ -343,8 +343,7 @@ public class AttributedString
*
* @return An <code>AttributedCharacterIterator</code> for this string.
*/
- public AttributedCharacterIterator getIterator(
- AttributedCharacterIterator.Attribute[] attributes)
+ public AttributedCharacterIterator getIterator(Attribute[] attributes)
{
return(getIterator(attributes, 0, sci.getEndIndex()));
}
@@ -363,8 +362,7 @@ public class AttributedString
*
* @return An <code>AttributedCharacterIterator</code> for this string.
*/
- public AttributedCharacterIterator getIterator(
- AttributedCharacterIterator.Attribute[] attributes,
+ public AttributedCharacterIterator getIterator(Attribute[] attributes,
int beginIndex, int endIndex)
{
if ((beginIndex < 0) || (endIndex > sci.getEndIndex()) ||
diff --git a/libjava/classpath/java/text/AttributedStringIterator.java b/libjava/classpath/java/text/AttributedStringIterator.java
index 429bd7063db..6d402cbca5d 100644
--- a/libjava/classpath/java/text/AttributedStringIterator.java
+++ b/libjava/classpath/java/text/AttributedStringIterator.java
@@ -1,5 +1,5 @@
/* AttributedStringIterator.java -- Class to iterate over AttributedString
- Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2004, 2005, 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,6 +44,8 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import static java.text.AttributedCharacterIterator.Attribute;
+
/**
* This class implements the AttributedCharacterIterator interface. It
* is used by AttributedString.getIterator().
@@ -67,7 +69,7 @@ class AttributedStringIterator implements AttributedCharacterIterator
* The list of attributes that the user is interested in. We may,
* at our option, not return any other attributes.
*/
- private AttributedCharacterIterator.Attribute[] restricts;
+ private Attribute[] restricts;
/*************************************************************************/
@@ -155,9 +157,9 @@ class AttributedStringIterator implements AttributedCharacterIterator
* Returns a list of all the attribute keys that are defined anywhere
* on this string.
*/
- public Set getAllAttributeKeys()
+ public Set<Attribute> getAllAttributeKeys()
{
- HashSet s = new HashSet();
+ HashSet<Attribute> s = new HashSet<Attribute>();
if (attribs == null)
return(s);
@@ -167,8 +169,7 @@ class AttributedStringIterator implements AttributedCharacterIterator
|| attribs[i].endIndex <= getBeginIndex())
continue;
- Set key_set = attribs[i].attribs.keySet();
- Iterator iter = key_set.iterator();
+ Iterator<? extends Attribute> iter = attribs[i].attribs.keySet().iterator();
while (iter.hasNext())
{
s.add(iter.next());
@@ -190,14 +191,14 @@ class AttributedStringIterator implements AttributedCharacterIterator
return getRunLimit(getAllAttributeKeys());
}
- public int getRunLimit(AttributedCharacterIterator.Attribute attrib)
+ public int getRunLimit(Attribute attrib)
{
- HashSet s = new HashSet();
+ HashSet<Attribute> s = new HashSet<Attribute>();
s.add(attrib);
return(getRunLimit(s));
}
- public synchronized int getRunLimit(Set attributeSet)
+ public synchronized int getRunLimit(Set<? extends Attribute> attributeSet)
{
if (attributeSet == null)
return ci.getEndIndex();
@@ -207,13 +208,13 @@ class AttributedStringIterator implements AttributedCharacterIterator
int limit = current;
if (current == end)
return end;
- Map runValues = getAttributes();
+ Map<Attribute,Object> runValues = getAttributes();
while (limit < end)
{
- Iterator iterator = attributeSet.iterator();
+ Iterator<? extends Attribute> iterator = attributeSet.iterator();
while (iterator.hasNext())
{
- Attribute attributeKey = (Attribute) iterator.next();
+ Attribute attributeKey = iterator.next();
Object v1 = runValues.get(attributeKey);
Object v2 = getAttribute(attributeKey, limit + 1);
boolean changed = false;
@@ -262,11 +263,11 @@ class AttributedStringIterator implements AttributedCharacterIterator
*
* return The index of the first character in the run.
*/
- public int getRunStart(AttributedCharacterIterator.Attribute attrib)
+ public int getRunStart(Attribute attrib)
{
if (attrib == null)
return ci.getBeginIndex();
- HashSet s = new HashSet();
+ HashSet<Attribute> s = new HashSet<Attribute>();
s.add(attrib);
return(getRunStart(s));
}
@@ -279,7 +280,7 @@ class AttributedStringIterator implements AttributedCharacterIterator
*
* return The index of the first character in the run.
*/
- public int getRunStart(Set attributeSet)
+ public int getRunStart(Set<? extends Attribute> attributeSet)
{
if (attributeSet == null)
return ci.getBeginIndex();
@@ -289,14 +290,14 @@ class AttributedStringIterator implements AttributedCharacterIterator
int start = current;
if (start == begin)
return begin;
- Map runValues = getAttributes();
+ Map<Attribute, Object> runValues = getAttributes();
int prev = start - 1;
while (start > begin)
{
- Iterator iterator = attributeSet.iterator();
+ Iterator<? extends Attribute> iterator = attributeSet.iterator();
while (iterator.hasNext())
{
- Attribute attributeKey = (Attribute) iterator.next();
+ Attribute attributeKey = iterator.next();
Object v1 = runValues.get(attributeKey);
Object v2 = getAttribute(attributeKey, prev);
boolean changed = false;
@@ -340,7 +341,7 @@ class AttributedStringIterator implements AttributedCharacterIterator
{
if (pos >= attribs[i].beginIndex && pos < attribs[i].endIndex)
{
- Set keys = attribs[i].attribs.keySet();
+ Set<? extends Attribute> keys = attribs[i].attribs.keySet();
if (keys.contains(key))
{
return attribs[i].attribs.get(key);
@@ -370,9 +371,9 @@ class AttributedStringIterator implements AttributedCharacterIterator
* Return a list of all the attributes and values defined for this
* character
*/
- public Map getAttributes()
+ public Map<Attribute,Object> getAttributes()
{
- HashMap m = new HashMap();
+ HashMap<Attribute,Object> m = new HashMap<Attribute,Object>();
if (attribs == null)
return(m);
diff --git a/libjava/classpath/java/text/Bidi.java b/libjava/classpath/java/text/Bidi.java
index 6a7bd075069..236247d5ea0 100644
--- a/libjava/classpath/java/text/Bidi.java
+++ b/libjava/classpath/java/text/Bidi.java
@@ -1,5 +1,5 @@
/* Bidi.java -- Bidirectional Algorithm implementation
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -109,7 +109,7 @@ public final class Bidi
// A list of indices where a formatting code was found. These
// are indicies into the original text -- not into the text after
// the codes have been removed.
- private ArrayList formatterIndices;
+ private ArrayList<Integer> formatterIndices;
// Indices of the starts of runs in the text.
private int[] runs;
@@ -161,13 +161,13 @@ public final class Bidi
if (val instanceof NumericShaper)
shaper = (NumericShaper) val;
- char[] text = new char[iter.getEndIndex() - iter.getBeginIndex()];
- this.embeddings = new byte[this.text.length];
- this.embeddingOffset = 0;
- this.length = text.length;
- for (int i = 0; i < this.text.length; ++i)
+ text = new char[iter.getEndIndex() - iter.getBeginIndex()];
+ embeddings = new byte[text.length];
+ embeddingOffset = 0;
+ length = text.length;
+ for (int i = 0; i < text.length; ++i)
{
- this.text[i] = iter.current();
+ text[i] = iter.current();
val = iter.getAttribute(TextAttribute.BIDI_EMBEDDING);
if (val instanceof Integer)
@@ -178,13 +178,13 @@ public final class Bidi
bval = 0;
else
bval = (byte) ival;
- this.embeddings[i] = bval;
+ embeddings[i] = bval;
}
}
// Invoke the numeric shaper, if specified.
if (shaper != null)
- shaper.shape(this.text, 0, this.length);
+ shaper.shape(text, 0, length);
runBidi();
}
@@ -404,7 +404,7 @@ public final class Bidi
{
// Mark this character for removal.
if (formatterIndices == null)
- formatterIndices = new ArrayList();
+ formatterIndices = new ArrayList<Integer>();
formatterIndices.add(Integer.valueOf(i));
}
else if (directionalOverride != -1)
@@ -427,7 +427,7 @@ public final class Bidi
if (i == size)
nextFmt = length;
else
- nextFmt = ((Integer) formatterIndices.get(i)).intValue();
+ nextFmt = formatterIndices.get(i).intValue();
// Non-formatter codes are from 'input' to 'nextFmt'.
int len = nextFmt - input;
System.arraycopy(levels, input, levels, output, len);
@@ -716,7 +716,7 @@ public final class Bidi
// Process from the end as we are copying the array over itself here.
for (int index = formatterIndices.size() - 1; index >= 0; --index)
{
- int nextFmt = ((Integer) formatterIndices.get(index)).intValue();
+ int nextFmt = formatterIndices.get(index).intValue();
// nextFmt points to a location in the original array. So,
// nextFmt+1 is the target of our copying. output is the location
diff --git a/libjava/classpath/java/text/BreakIterator.java b/libjava/classpath/java/text/BreakIterator.java
index 628cb723513..6fed88f82d9 100644
--- a/libjava/classpath/java/text/BreakIterator.java
+++ b/libjava/classpath/java/text/BreakIterator.java
@@ -1,5 +1,5 @@
/* BreakIterator.java -- Breaks text into elements
- Copyright (C) 1998, 1999, 2001, 2004, 2005, 2007
+ Copyright (C) 1998, 1999, 2001, 2004, 2005, 2007, 2012
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -160,7 +160,7 @@ public abstract class BreakIterator implements Cloneable
}
try
{
- Class k = Class.forName(className);
+ Class<?> k = Class.forName(className);
return (BreakIterator) k.newInstance();
}
catch (ClassNotFoundException x1)
diff --git a/libjava/classpath/java/text/ChoiceFormat.java b/libjava/classpath/java/text/ChoiceFormat.java
index 4842f491d9c..c6a508cb89a 100644
--- a/libjava/classpath/java/text/ChoiceFormat.java
+++ b/libjava/classpath/java/text/ChoiceFormat.java
@@ -1,5 +1,5 @@
/* ChoiceFormat.java -- Format over a range of numbers
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2012
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -98,8 +98,8 @@ public class ChoiceFormat extends NumberFormat
// This isn't explicitly documented. But for instance we accept
// '#' as a literal hash in a format string.
int index = 0, max = newPattern.length();
- Vector stringVec = new Vector ();
- Vector limitVec = new Vector ();
+ Vector<String> stringVec = new Vector<String> ();
+ Vector<Double> limitVec = new Vector<Double> ();
final CPStringBuilder buf = new CPStringBuilder ();
while (true)
@@ -159,7 +159,7 @@ public class ChoiceFormat extends NumberFormat
choiceLimits = new double[limitVec.size()];
for (int i = 0; i < choiceLimits.length; ++i)
{
- Double d = (Double) limitVec.elementAt(i);
+ Double d = limitVec.elementAt(i);
choiceLimits[i] = d.doubleValue();
}
}
diff --git a/libjava/classpath/java/text/CollationElementIterator.java b/libjava/classpath/java/text/CollationElementIterator.java
index 0ca23d07402..42452e9dcdb 100644
--- a/libjava/classpath/java/text/CollationElementIterator.java
+++ b/libjava/classpath/java/text/CollationElementIterator.java
@@ -1,5 +1,5 @@
/* CollationElementIterator.java -- Walks through collation elements
- Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation
+ Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2012 Free Software Foundation
This file is part of GNU Classpath.
@@ -91,12 +91,12 @@ public final class CollationElementIterator
* Array containing the collation decomposition of the
* text given to the constructor.
*/
- private RuleBasedCollator.CollationElement[] text_decomposition;
+ private RuleBasedCollator.CollationElement[] textDecomposition;
/**
* Array containing the index of the specified block.
*/
- private int[] text_indexes;
+ private int[] textIndexes;
/**
* This method initializes a new instance of <code>CollationElementIterator</code>
@@ -130,12 +130,12 @@ public final class CollationElementIterator
RuleBasedCollator.CollationElement nextBlock()
{
- if (index >= text_decomposition.length)
+ if (index >= textDecomposition.length)
return null;
- RuleBasedCollator.CollationElement e = text_decomposition[index];
+ RuleBasedCollator.CollationElement e = textDecomposition[index];
- textIndex = text_indexes[index+1];
+ textIndex = textIndexes[index+1];
index++;
@@ -148,9 +148,9 @@ public final class CollationElementIterator
return null;
index--;
- RuleBasedCollator.CollationElement e = text_decomposition[index];
+ RuleBasedCollator.CollationElement e = textDecomposition[index];
- textIndex = text_indexes[index+1];
+ textIndex = textIndexes[index+1];
return e;
}
@@ -268,23 +268,23 @@ public final class CollationElementIterator
String work_text = text.intern();
- ArrayList a_element = new ArrayList();
- ArrayList a_idx = new ArrayList();
+ ArrayList<RuleBasedCollator.CollationElement> aElement = new ArrayList<RuleBasedCollator.CollationElement>();
+ ArrayList<Integer> aIdx = new ArrayList<Integer>();
// Build element collection ordered as they come in "text".
while (idx < work_text.length())
{
- String key, key_old;
+ String key, keyOld;
Object object = null;
int p = 1;
// IMPROVE: use a TreeMap with a prefix-ordering rule.
- key_old = key = null;
+ keyOld = key = null;
do
{
if (object != null)
- key_old = key;
+ keyOld = key;
key = work_text.substring (idx, idx+p);
object = collator.prefix_tree.get (key);
if (object != null && idx < alreadyExpanded)
@@ -294,7 +294,7 @@ public final class CollationElementIterator
prefix.expansion.startsWith(work_text.substring(0, idx)))
{
object = null;
- key = key_old;
+ key = keyOld;
}
}
p++;
@@ -302,7 +302,7 @@ public final class CollationElementIterator
while (idx+p <= work_text.length());
if (object == null)
- key = key_old;
+ key = keyOld;
RuleBasedCollator.CollationElement prefix =
(RuleBasedCollator.CollationElement) collator.prefix_tree.get (key);
@@ -322,8 +322,8 @@ public final class CollationElementIterator
RuleBasedCollator.CollationElement e =
collator.getDefaultAccentedElement (work_text.charAt (idx));
- a_element.add (e);
- a_idx.add (new Integer(idx_idx));
+ aElement.add (e);
+ aIdx.add (Integer.valueOf(idx_idx));
idx++;
alreadyExpanded--;
if (alreadyExpanded == 0)
@@ -342,15 +342,15 @@ public final class CollationElementIterator
/* This is a normal character. */
RuleBasedCollator.CollationElement e =
collator.getDefaultElement (work_text.charAt (idx));
- Integer i_ref = new Integer(idx_idx);
+ Integer iRef = Integer.valueOf(idx_idx);
/* Don't forget to mark it as a special sequence so the
* string can be ordered.
*/
- a_element.add (RuleBasedCollator.SPECIAL_UNKNOWN_SEQ);
- a_idx.add (i_ref);
- a_element.add (e);
- a_idx.add (i_ref);
+ aElement.add (RuleBasedCollator.SPECIAL_UNKNOWN_SEQ);
+ aIdx.add (iRef);
+ aElement.add (e);
+ aIdx.add (iRef);
idx_idx++;
idx++;
}
@@ -367,8 +367,8 @@ public final class CollationElementIterator
work_text = prefix.expansion
+ work_text.substring (idx+prefix.key.length());
idx = 0;
- a_element.add (prefix);
- a_idx.add (new Integer(idx_idx));
+ aElement.add (prefix);
+ aIdx.add (Integer.valueOf(idx_idx));
if (alreadyExpanded == 0)
idxToMove = prefix.key.length();
alreadyExpanded += prefix.expansion.length()-prefix.key.length();
@@ -378,8 +378,8 @@ public final class CollationElementIterator
/* Third case: the simplest. We have got the prefix and it
* has not to be expanded.
*/
- a_element.add (prefix);
- a_idx.add (new Integer(idx_idx));
+ aElement.add (prefix);
+ aIdx.add (Integer.valueOf(idx_idx));
idx += prefix.key.length();
/* If the sequence is in an expansion, we must decrease the
* counter.
@@ -398,14 +398,13 @@ public final class CollationElementIterator
}
}
- text_decomposition = (RuleBasedCollator.CollationElement[])
- a_element.toArray(new RuleBasedCollator.CollationElement[a_element.size()]);
- text_indexes = new int[a_idx.size()+1];
- for (int i = 0; i < a_idx.size(); i++)
+ textDecomposition = aElement.toArray(new RuleBasedCollator.CollationElement[aElement.size()]);
+ textIndexes = new int[aIdx.size()+1];
+ for (int i = 0; i < aIdx.size(); i++)
{
- text_indexes[i] = ((Integer)a_idx.get(i)).intValue();
+ textIndexes[i] = aIdx.get(i).intValue();
}
- text_indexes[a_idx.size()] = text.length();
+ textIndexes[aIdx.size()] = text.length();
}
/**
@@ -460,19 +459,19 @@ public final class CollationElementIterator
if (offset > (text.getEndIndex() - 1))
throw new IllegalArgumentException("Offset too large: " + offset);
- for (index = 0; index < text_decomposition.length; index++)
+ for (index = 0; index < textDecomposition.length; index++)
{
- if (offset <= text_indexes[index])
+ if (offset <= textIndexes[index])
break;
}
/*
- * As text_indexes[0] == 0, we should not have to take care whether index is
+ * As textIndexes[0] == 0, we should not have to take care whether index is
* greater than 0. It is always.
*/
- if (text_indexes[index] == offset)
+ if (textIndexes[index] == offset)
textIndex = offset;
else
- textIndex = text_indexes[index-1];
+ textIndex = textIndexes[index-1];
}
/**
diff --git a/libjava/classpath/java/text/DateFormatSymbols.java b/libjava/classpath/java/text/DateFormatSymbols.java
index 53e7ba07c8c..9d0ace65a3e 100644
--- a/libjava/classpath/java/text/DateFormatSymbols.java
+++ b/libjava/classpath/java/text/DateFormatSymbols.java
@@ -56,6 +56,11 @@ import java.util.ResourceBundle;
import java.util.ServiceLoader;
import java.util.TimeZone;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ConcurrentHashMap;
+
+import java.util.regex.Pattern;
+
import java.util.spi.TimeZoneNameProvider;
/**
@@ -71,14 +76,6 @@ import java.util.spi.TimeZoneNameProvider;
*/
public class DateFormatSymbols implements java.io.Serializable, Cloneable
{
- String[] ampms;
- String[] eras;
- private String localPatternChars;
- String[] months;
- String[] shortMonths;
- String[] shortWeekdays;
- String[] weekdays;
-
/**
* The set of properties for obtaining the metazone data.
*/
@@ -100,6 +97,173 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
}
}
+ private static final Pattern ZONE_SEP = Pattern.compile("\u00a9");
+
+ private static final Pattern FIELD_SEP = Pattern.compile("\u00ae");
+
+ /**
+ * Class for storing DateFormatSymbols data parsed from the property files.
+ */
+ private static class DFSData
+ {
+ private String[] ampms;
+ private String[] eras;
+ private String localPatternChars;
+ private String[] months;
+ private String[] shortMonths;
+ private String[] weekdays;
+ private String[] shortWeekdays;
+ private String[] dateFormats;
+ private String[] timeFormats;
+ private String[][] runtimeZoneStrings;
+
+ /**
+ * Construct a new instance with the parsed data.
+ *
+ * @param ampms strings for "am" and "pm".
+ * @param eras strings for calendar eras.
+ * @param localPatternChars localised pattern characters.
+ * @param months strings for the months of the year.
+ * @param shortMonths short strings for the months of the year.
+ * @param weekdays strings for the days of the week.
+ * @param shortWeekdays short strings for the days of the week.
+ * @param dateFormats localised date formats.
+ * @param timeFormats localised time formats.
+ * @param runtimeZoneStrings localised time zone names.
+ */
+ public DFSData(String[] ampms, String[] eras, String localPatternChars,
+ String[] months, String[] shortMonths, String[] weekdays,
+ String[] shortWeekdays, String[] dateFormats,
+ String[] timeFormats, String[][] runtimeZoneStrings)
+ {
+ this.ampms = ampms;
+ this.eras = eras;
+ this.localPatternChars = localPatternChars;
+ this.months = months;
+ this.shortMonths = shortMonths;
+ this.weekdays = weekdays;
+ this.shortWeekdays = shortWeekdays;
+ this.dateFormats = dateFormats;
+ this.timeFormats = timeFormats;
+ this.runtimeZoneStrings = runtimeZoneStrings;
+ }
+
+ /**
+ * Accessor for the AM/PM data.
+ *
+ * @return the AM/PM strings.
+ */
+ public String[] getAMPMs()
+ {
+ return ampms.clone();
+ }
+
+ /**
+ * Accessor for the era data.
+ *
+ * @return the era strings.
+ */
+ public String[] getEras()
+ {
+ return eras.clone();
+ }
+
+ /**
+ * Accessor for the local pattern characters.
+ *
+ * @return the local pattern characters.
+ */
+ public String getLocalPatternChars()
+ {
+ return localPatternChars;
+ }
+
+ /**
+ * Accessor for the months of the year (long form).
+ *
+ * @return the months of the year (long form).
+ */
+ public String[] getMonths()
+ {
+ return months.clone();
+ }
+
+ /**
+ * Accessor for the months of the year (short form).
+ *
+ * @return the months of the year (short form).
+ */
+ public String[] getShortMonths()
+ {
+ return shortMonths.clone();
+ }
+
+ /**
+ * Accessor for the days of the week (long form).
+ *
+ * @return the days of the week (long form).
+ */
+ public String[] getWeekdays()
+ {
+ return weekdays.clone();
+ }
+
+ /**
+ * Accessor for the days of the week (short form).
+ *
+ * @return the days of the week (short form).
+ */
+ public String[] getShortWeekdays()
+ {
+ return shortWeekdays.clone();
+ }
+
+ /**
+ * Accessor for the date formats.
+ *
+ * @return the date formats.
+ */
+ public String[] getDateFormats()
+ {
+ return dateFormats.clone();
+ }
+
+ /**
+ * Accessor for the time formats.
+ *
+ * @return the time formats.
+ */
+ public String[] getTimeFormats()
+ {
+ return timeFormats.clone();
+ }
+
+ /**
+ * Accessor for the zone strings.
+ *
+ * @return the zone strings.
+ */
+ public String[][] getZoneStrings()
+ {
+ // Perform a deep clone so subarrays aren't modifiable
+ String[][] clone = runtimeZoneStrings.clone();
+ for (int a = 0; a < clone.length; ++a)
+ clone[a] = runtimeZoneStrings[a].clone();
+ return clone;
+ }
+
+ }
+
+ private static final ConcurrentMap<Locale, DFSData> dataCache = new ConcurrentHashMap<Locale, DFSData>();
+
+ String[] ampms;
+ String[] eras;
+ private String localPatternChars;
+ String[] months;
+ String[] shortMonths;
+ String[] shortWeekdays;
+ String[] weekdays;
+
/**
* The timezone strings supplied by the runtime.
*/
@@ -161,7 +325,7 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
for (int a = 0; a < bundles.size(); ++a)
{
String localeData = bundles.get(a).getString(name);
- String[] array = localeData.split("\u00ae", size);
+ String[] array = FIELD_SEP.split(localeData, size);
for (int b = 0; b < data.length; ++b)
{
if (array.length > b && array[b] != null && data[b].isEmpty() && !array[b].isEmpty())
@@ -180,21 +344,20 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
return data;
}
- private String[][] getZoneStrings(ResourceBundle res, Locale locale)
+ private static String[][] getZoneStrings(List<ResourceBundle> bundles, Locale locale)
{
List<String[]> allZones = new ArrayList<String[]>();
try
{
Map<String,String[]> systemZones = new HashMap<String,String[]>();
- while (true)
+ for (ResourceBundle bundle : bundles)
{
- int index = 0;
String country = locale.getCountry();
- String data = res.getString("zoneStrings");
- String[] zones = data.split("\u00a9");
+ String data = bundle.getString("zoneStrings");
+ String[] zones = ZONE_SEP.split(data);
for (int a = 0; a < zones.length; ++a)
{
- String[] strings = zones[a].split("\u00ae");
+ String[] strings = FIELD_SEP.split(zones[a]);
String type = properties.getProperty(strings[0] + "." + country);
if (type == null)
type = properties.getProperty(strings[0] + ".DEFAULT");
@@ -217,12 +380,6 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
}
systemZones.put(strings[0], strings);
}
- if (res.getLocale() == Locale.ROOT)
- break;
- else
- res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
- LocaleHelper.getFallbackLocale(res.getLocale()),
- ClassLoader.getSystemClassLoader());
}
/* Final sanity check for missing values */
for (String[] zstrings : systemZones.values())
@@ -288,17 +445,95 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
return allZones.toArray(new String[allZones.size()][]);
}
- private String[] formatsForKey(ResourceBundle res, String key)
+ /**
+ * Retrieve the date or time formats for a specific key e.g.
+ * asking for "DateFormat" will return an array containing the
+ * full, long, medium and short date formats localised for
+ * the locales in the specified bundle.
+ *
+ * @param bundles the stack of bundles to check, most-specific first.
+ * @param key the type of format to retrieve.
+ * @param an array of localised strings for each format prefix.
+ */
+ private static String[] formatsForKey(List<ResourceBundle> bundles, String key)
{
String[] values = new String[formatPrefixes.length];
for (int i = 0; i < formatPrefixes.length; i++)
- values[i] = res.getString(formatPrefixes[i] + key);
+ values[i] = getString(bundles, formatPrefixes[i] + key);
return values;
}
/**
+ * Simple wrapper around extracting a {@code String} from a
+ * {@code ResourceBundle}. Keep searching less-specific locales
+ * until a non-null non-empty value is found.
+ *
+ * @param bundles the stack of bundles to check, most-specific first.
+ * @param key the key of the value to retrieve.
+ * @return the first non-null non-empty String found or the last
+ * retrieved if one isn't found.
+ */
+ private static String getString(List<ResourceBundle> bundles, String key)
+ {
+ String val = null;
+ for (ResourceBundle bundle : bundles)
+ {
+ val = bundle.getString(key);
+ if (val != null && !val.isEmpty())
+ return val;
+ }
+ return val;
+ }
+
+ /**
+ * Retrieves the locale data from the property files and constructs a
+ * {@code DFSData} instance for it.
+ *
+ * @param the locale for which data should be retrieved.
+ * @return the parsed data.
+ * @throws MissingResourceException if the resources for the specified
+ * locale could not be found or loaded.
+ */
+ private static DFSData retrieveData(Locale locale)
+ throws MissingResourceException
+ {
+ DFSData data = dataCache.get(locale);
+ if (data == null)
+ {
+ ClassLoader ldr = ClassLoader.getSystemClassLoader();
+ List<ResourceBundle> bundles = new ArrayList<ResourceBundle>();
+ ResourceBundle res
+ = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, ldr);
+ bundles.add(res);
+ Locale resLocale = res.getLocale();
+ while (resLocale != Locale.ROOT)
+ {
+ res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
+ LocaleHelper.getFallbackLocale(resLocale), ldr);
+ bundles.add(res);
+ resLocale = res.getLocale();
+ }
+ String[] lMonths = getStringArray(bundles, "months", 13);
+ String[] lWeekdays = getStringArray(bundles, "weekdays", 8);
+ data = new DFSData(getStringArray(bundles, "ampms", 2),
+ getStringArray(bundles, "eras", 2),
+ getString(bundles, "localPatternChars"),
+ lMonths, getStringArray(bundles, "shortMonths", 13, lMonths),
+ lWeekdays, getStringArray(bundles, "shortWeekdays", 8, lWeekdays),
+ formatsForKey(bundles, "DateFormat"),
+ formatsForKey(bundles, "TimeFormat"),
+ getZoneStrings(bundles, locale));
+ DFSData cachedData = dataCache.putIfAbsent(locale, data);
+ // Use the earlier version if another thread beat us to it.
+ if (cachedData != null)
+ data = cachedData;
+ }
+ return data;
+ }
+
+ /**
* This method initializes a new instance of <code>DateFormatSymbols</code>
* by loading the date format information for the specified locale.
* This constructor only obtains instances using the runtime's resources;
@@ -314,29 +549,17 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
public DateFormatSymbols (Locale locale)
throws MissingResourceException
{
- ClassLoader ldr = ClassLoader.getSystemClassLoader();
- List<ResourceBundle> bundles = new ArrayList<ResourceBundle>();
- ResourceBundle res
- = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, ldr);
- bundles.add(res);
- Locale resLocale = res.getLocale();
- while (resLocale != Locale.ROOT)
- {
- res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
- LocaleHelper.getFallbackLocale(resLocale), ldr);
- bundles.add(res);
- resLocale = res.getLocale();
- }
- ampms = getStringArray(bundles, "ampms", 2);
- eras = getStringArray(bundles, "eras", 2);
- localPatternChars = res.getString("localPatternChars");
- months = getStringArray(bundles, "months", 13);
- shortMonths = getStringArray(bundles, "shortMonths", 13, months);
- weekdays = getStringArray(bundles, "weekdays", 8);
- shortWeekdays = getStringArray(bundles, "shortWeekdays", 8, weekdays);
- dateFormats = formatsForKey(res, "DateFormat");
- timeFormats = formatsForKey(res, "TimeFormat");
- runtimeZoneStrings = getZoneStrings(res, locale);
+ DFSData data = retrieveData(locale);
+ ampms = data.getAMPMs();
+ eras = data.getEras();
+ localPatternChars = data.getLocalPatternChars();
+ months = data.getMonths();
+ shortMonths = data.getShortMonths();
+ weekdays = data.getWeekdays();
+ shortWeekdays = data.getShortWeekdays();
+ dateFormats = data.getDateFormats();
+ timeFormats = data.getTimeFormats();
+ runtimeZoneStrings = data.getZoneStrings();
}
/**
diff --git a/libjava/classpath/java/text/DecimalFormat.java b/libjava/classpath/java/text/DecimalFormat.java
index 9f02bb8d4cb..77af0d396c4 100644
--- a/libjava/classpath/java/text/DecimalFormat.java
+++ b/libjava/classpath/java/text/DecimalFormat.java
@@ -1,5 +1,5 @@
/* DecimalFormat.java -- Formats and parses numbers
- Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -177,7 +177,7 @@ public class DecimalFormat extends NumberFormat
private boolean hasFractionalPattern;
/** Stores a list of attributes for use by formatToCharacterIterator. */
- private ArrayList attributes = new ArrayList();
+ private ArrayList<FieldPosition> attributes = new ArrayList<FieldPosition>();
/**
* Constructs a <code>DecimalFormat</code> which uses the default
@@ -438,7 +438,7 @@ public class DecimalFormat extends NumberFormat
// add NumberFormat field attributes to the AttributedString
for (int i = 0; i < attributes.size(); i++)
{
- FieldPosition pos = (FieldPosition) attributes.get(i);
+ FieldPosition pos = attributes.get(i);
Format.Field attribute = pos.getFieldAttribute();
as.addAttribute(attribute, attribute, pos.getBeginIndex(),
diff --git a/libjava/classpath/java/text/MessageFormat.java b/libjava/classpath/java/text/MessageFormat.java
index ba5805aa0b9..0e04b2b447a 100644
--- a/libjava/classpath/java/text/MessageFormat.java
+++ b/libjava/classpath/java/text/MessageFormat.java
@@ -1,5 +1,5 @@
/* MessageFormat.java - Localized message formatting.
- Copyright (C) 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001, 2002, 2004, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -164,7 +164,6 @@ public class MessageFormat extends Format
public static final MessageFormat.Field ARGUMENT = new MessageFormat.Field("argument");
// For deserialization
- @SuppressWarnings("unused")
private Field()
{
super("");
diff --git a/libjava/classpath/java/text/NumberFormat.java b/libjava/classpath/java/text/NumberFormat.java
index fef986bc38e..555ee373957 100644
--- a/libjava/classpath/java/text/NumberFormat.java
+++ b/libjava/classpath/java/text/NumberFormat.java
@@ -1,5 +1,5 @@
/* NumberFormat.java -- Formats and parses numbers
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007, 2012
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -177,7 +177,6 @@ public abstract class NumberFormat extends Format implements Cloneable
* This constructor is only used by the deserializer. Without it,
* it would fail to construct a valid object.
*/
- @SuppressWarnings("unused")
private Field()
{
super("");
diff --git a/libjava/classpath/java/util/Collections.java b/libjava/classpath/java/util/Collections.java
index 828c6ecea12..b970dd8f60a 100644
--- a/libjava/classpath/java/util/Collections.java
+++ b/libjava/classpath/java/util/Collections.java
@@ -120,10 +120,10 @@ public class Collections
* @return an empty parameterized set.
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public static final <T> Set<T> emptySet()
{
- /* FIXME: Could this be optimized? */
- return new EmptySet<T>();
+ return (Set<T>) EMPTY_SET;
}
/**
@@ -161,6 +161,7 @@ public class Collections
* @return A non-iterating iterator.
*/
// This is really cheating! I think it's perfectly valid, though.
+ @SuppressWarnings("unchecked")
public Iterator<T> iterator()
{
return (Iterator<T>) EMPTY_LIST.iterator();
@@ -196,7 +197,7 @@ public class Collections
*/
public boolean equals(Object o)
{
- return o instanceof Set && ((Set) o).isEmpty();
+ return o instanceof Set<?> && ((Set<?>) o).isEmpty();
}
/**
@@ -288,10 +289,10 @@ public class Collections
* @return an empty parameterized list.
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public static final <T> List<T> emptyList()
{
- /* FIXME: Could this be optimized? */
- return new EmptyList<T>();
+ return (List<T>) EMPTY_LIST;
}
/**
@@ -369,7 +370,7 @@ public class Collections
*/
public boolean equals(Object o)
{
- return o instanceof List && ((List) o).isEmpty();
+ return o instanceof List<?> && ((List<?>) o).isEmpty();
}
/**
@@ -480,10 +481,10 @@ public class Collections
* @return an empty parameterized map.
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public static final <K,V> Map<K,V> emptyMap()
{
- /* FIXME: Could this be optimized? */
- return new EmptyMap<K,V>();
+ return (Map<K,V>) EMPTY_MAP;
}
/**
@@ -511,9 +512,10 @@ public class Collections
* There are no entries.
* @return The empty set.
*/
+ @SuppressWarnings("unchecked")
public Set<Map.Entry<K, V>> entrySet()
{
- return EMPTY_SET;
+ return (Set<Map.Entry<K, V>>) EMPTY_SET;
}
// The remaining methods are optional, but provide a performance
@@ -546,7 +548,7 @@ public class Collections
*/
public boolean equals(Object o)
{
- return o instanceof Map && ((Map) o).isEmpty();
+ return o instanceof Map<?,?> && ((Map<?,?>) o).isEmpty();
}
/**
@@ -572,9 +574,10 @@ public class Collections
* No entries.
* @return The empty set.
*/
+ @SuppressWarnings("unchecked")
public Set<K> keySet()
{
- return EMPTY_SET;
+ return (Set<K>) EMPTY_SET;
}
/**
@@ -601,9 +604,10 @@ public class Collections
* Collection, will work. Besides, that's what the JDK uses!
* @return The empty set.
*/
+ @SuppressWarnings("unchecked")
public Collection<V> values()
{
- return EMPTY_SET;
+ return (Collection<V>) EMPTY_SET;
}
/**
@@ -1854,7 +1858,7 @@ public class Collections
public List<T> subList(int from, int to)
{
if (from == to && (to == 0 || to == 1))
- return EMPTY_LIST;
+ return emptyList();
if (from == 0 && to == 1)
return this;
if (from > to)
@@ -2480,7 +2484,7 @@ public class Collections
* @throws ArrayStoreException if the type of any element of the
* collection is not a subtype of the element type of a.
*/
- public <T> T[] toArray(T[] a)
+ public <E> E[] toArray(E[] a)
{
synchronized (mutex)
{
diff --git a/libjava/classpath/java/util/Formatter.java b/libjava/classpath/java/util/Formatter.java
index 62f68456239..466fab535ae 100644
--- a/libjava/classpath/java/util/Formatter.java
+++ b/libjava/classpath/java/util/Formatter.java
@@ -678,6 +678,12 @@ public final class Formatter
conversion);
noPrecision(precision);
+ if (arg == null)
+ {
+ genericFormat("null", flags, width, precision);
+ return;
+ }
+
int theChar;
if (arg instanceof Character)
theChar = ((Character) arg).charValue();
@@ -748,6 +754,12 @@ public final class Formatter
int radix, char conversion)
{
assert radix == 8 || radix == 10 || radix == 16;
+
+ if (arg == null)
+ {
+ return new CPStringBuilder("null");
+ }
+
noPrecision(precision);
// Some error checking.
@@ -1353,9 +1365,12 @@ public final class Formatter
argumentIndex = previousArgumentIndex;
// Argument indices start at 1 but array indices at 0.
--argumentIndex;
- if (argumentIndex < 0 || argumentIndex >= args.length)
- throw new MissingFormatArgumentException(format.substring(start, index));
- argument = args[argumentIndex];
+ if (args != null)
+ {
+ if (argumentIndex < 0 || argumentIndex >= args.length)
+ throw new MissingFormatArgumentException(format.substring(start, index));
+ argument = args[argumentIndex];
+ }
}
switch (conversion)
diff --git a/libjava/classpath/java/util/TimeZone.java b/libjava/classpath/java/util/TimeZone.java
index 86a62918ed5..a8b2b51cf8c 100644
--- a/libjava/classpath/java/util/TimeZone.java
+++ b/libjava/classpath/java/util/TimeZone.java
@@ -1,5 +1,5 @@
/* java.util.TimeZone
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2012
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -102,10 +102,10 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
/* Look up default timezone */
if (defaultZone0 == null)
{
- defaultZone0 = (TimeZone) AccessController.doPrivileged
- (new PrivilegedAction()
+ defaultZone0 = AccessController.doPrivileged
+ (new PrivilegedAction<TimeZone>()
{
- public Object run()
+ public TimeZone run()
{
TimeZone zone = null;
@@ -146,21 +146,21 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
/**
* JDK 1.1.x compatibility aliases.
*/
- private static HashMap aliases0;
+ private static HashMap<String,String> aliases0;
/**
* HashMap for timezones by ID.
*/
- private static HashMap timezones0;
+ private static HashMap<String,TimeZone> timezones0;
/* initialize this static field lazily to overhead if
* it is not needed:
*/
// Package-private to avoid a trampoline.
- static HashMap timezones()
+ static HashMap<String,TimeZone> timezones()
{
if (timezones0 == null)
{
- HashMap timezones = new HashMap();
+ HashMap<String,TimeZone> timezones = new HashMap<String,TimeZone>();
timezones0 = timezones;
zoneinfo_dir = SystemProperties.getProperty("gnu.java.util.zoneinfo.dir");
@@ -169,7 +169,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
if (zoneinfo_dir != null)
{
- aliases0 = new HashMap();
+ aliases0 = new HashMap<String,String>();
// These deprecated aliases for JDK 1.1.x compatibility
// should take precedence over data files read from
@@ -1469,7 +1469,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
{
synchronized (TimeZone.class)
{
- tz = (TimeZone) timezones().get(ID);
+ tz = timezones().get(ID);
if (tz != null)
{
if (!tz.getID().equals(ID))
@@ -1497,7 +1497,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
// aliases0 is never changing after first timezones(), so should
// be safe without synchronization.
- String zonename = (String) aliases0.get(ID);
+ String zonename = aliases0.get(ID);
if (zonename == null)
zonename = ID;
@@ -1605,17 +1605,17 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
{
synchronized (TimeZone.class)
{
- HashMap h = timezones();
+ HashMap<String,TimeZone> h = timezones();
int count = 0;
if (zoneinfo_dir == null)
{
- Iterator iter = h.entrySet().iterator();
+ Iterator<Map.Entry<String,TimeZone>> iter = h.entrySet().iterator();
while (iter.hasNext())
{
// Don't iterate the values, since we want to count
// doubled values (aliases)
- Map.Entry entry = (Map.Entry) iter.next();
- if (((TimeZone) entry.getValue()).getRawOffset() == rawOffset)
+ Map.Entry<String,TimeZone> entry = iter.next();
+ if (entry.getValue().getRawOffset() == rawOffset)
count++;
}
@@ -1624,8 +1624,8 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
iter = h.entrySet().iterator();
while (iter.hasNext())
{
- Map.Entry entry = (Map.Entry) iter.next();
- if (((TimeZone) entry.getValue()).getRawOffset() == rawOffset)
+ Map.Entry<String,TimeZone> entry = iter.next();
+ if (entry.getValue().getRawOffset() == rawOffset)
ids[count++] = (String) entry.getKey();
}
return ids;
@@ -1651,7 +1651,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
return ids;
}
- private static int getAvailableIDs(File d, String prefix, ArrayList list)
+ private static int getAvailableIDs(File d, String prefix, ArrayList<String[]> list)
{
String[] files = d.list();
int count = files.length;
@@ -1691,9 +1691,9 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
{
synchronized (TimeZone.class)
{
- HashMap h = timezones();
+ HashMap<String,TimeZone> h = timezones();
if (zoneinfo_dir == null)
- return (String[]) h.keySet().toArray(new String[h.size()]);
+ return h.keySet().toArray(new String[h.size()]);
if (availableIDs != null)
{
@@ -1704,7 +1704,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
}
File d = new File(zoneinfo_dir);
- ArrayList list = new ArrayList(30);
+ ArrayList<String[]> list = new ArrayList<String[]>(30);
int count = getAvailableIDs(d, "", list) + aliases0.size();
availableIDs = new String[count];
String[] ids = new String[count];
@@ -1712,7 +1712,7 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
count = 0;
for (int i = 0; i < list.size(); i++)
{
- String[] s = (String[]) list.get(i);
+ String[] s = list.get(i);
for (int j = 0; j < s.length; j++)
if (s[j] != null)
{
@@ -1721,12 +1721,12 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
}
}
- Iterator iter = aliases0.entrySet().iterator();
+ Iterator<Map.Entry<String,String>> iter = aliases0.entrySet().iterator();
while (iter.hasNext())
{
- Map.Entry entry = (Map.Entry) iter.next();
- availableIDs[count] = (String) entry.getKey();
- ids[count++] = (String) entry.getKey();
+ Map.Entry<String,String> entry = iter.next();
+ availableIDs[count] = entry.getKey();
+ ids[count++] = entry.getKey();
}
return ids;
diff --git a/libjava/classpath/java/util/regex/Matcher.java b/libjava/classpath/java/util/regex/Matcher.java
index 8d033d5e316..95a35535935 100644
--- a/libjava/classpath/java/util/regex/Matcher.java
+++ b/libjava/classpath/java/util/regex/Matcher.java
@@ -103,6 +103,28 @@ public final class Matcher implements MatchResult
}
/**
+ * Changes the pattern used by the {@link Matcher} to
+ * the one specified. Existing match information is lost,
+ * but the input and the matcher's position within it is
+ * retained.
+ *
+ * @param newPattern the new pattern to use.
+ * @return this matcher.
+ * @throws IllegalArgumentException if {@code newPattern} is
+ * {@code null}.
+ * @since 1.5
+ */
+ public Matcher usePattern(Pattern newPattern)
+ {
+ if (newPattern == null)
+ throw new IllegalArgumentException("The new pattern was null.");
+ pattern = newPattern;
+ match = null;
+
+ return this;
+ }
+
+ /**
* @param sb The target string buffer
* @param replacement The replacement string
*
@@ -620,7 +642,7 @@ public final class Matcher implements MatchResult
*
* @param s the string to literalize.
* @return the literalized string.
- * @since 1.5
+ * @since 1.5
*/
public static String quoteReplacement(String s)
{
diff --git a/libjava/classpath/javax/activation/ActivationDataFlavor.java b/libjava/classpath/javax/activation/ActivationDataFlavor.java
index 91812092ee9..0ab5a8097b8 100644
--- a/libjava/classpath/javax/activation/ActivationDataFlavor.java
+++ b/libjava/classpath/javax/activation/ActivationDataFlavor.java
@@ -63,7 +63,7 @@ public class ActivationDataFlavor extends DataFlavor
* flavor
*/
// Raw types enforced as part of spec.
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public ActivationDataFlavor(Class representationClass, String mimeType,
String humanPresentableName)
{
@@ -80,7 +80,7 @@ public class ActivationDataFlavor extends DataFlavor
* flavor
*/
// Raw types enforced as part of spec.
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public ActivationDataFlavor(Class representationClass,
String humanPresentableName)
{
@@ -110,7 +110,7 @@ public class ActivationDataFlavor extends DataFlavor
}
// Raw types enforced as part of spec.
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public Class getRepresentationClass()
{
return representationClass;
diff --git a/libjava/classpath/javax/activation/MimeTypeParameterList.java b/libjava/classpath/javax/activation/MimeTypeParameterList.java
index 3d36ede948b..24c9486f1fe 100644
--- a/libjava/classpath/javax/activation/MimeTypeParameterList.java
+++ b/libjava/classpath/javax/activation/MimeTypeParameterList.java
@@ -224,7 +224,7 @@ public class MimeTypeParameterList
* Returns an enumeration of all the parameter names.
*/
// Raw type is forced by public spec.
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public synchronized Enumeration getNames()
{
return new IteratorEnumeration(parameterNames.iterator());
diff --git a/libjava/classpath/javax/management/DefaultLoaderRepository.java b/libjava/classpath/javax/management/DefaultLoaderRepository.java
index d331552a011..d70bf7efec5 100644
--- a/libjava/classpath/javax/management/DefaultLoaderRepository.java
+++ b/libjava/classpath/javax/management/DefaultLoaderRepository.java
@@ -78,7 +78,7 @@ import java.util.List;
* to load the class.
*/
// API issue with lack of <?> on Class
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public static Class loadClass(String name)
throws ClassNotFoundException
{
@@ -127,7 +127,7 @@ import java.util.List;
* to load the class.
*/
// API issue with lack of <?> on Class
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public static Class loadClassWithout(ClassLoader exclude, String name)
throws ClassNotFoundException
{
diff --git a/libjava/classpath/javax/management/MBeanConstructorInfo.java b/libjava/classpath/javax/management/MBeanConstructorInfo.java
index 509483f256a..3d5ebdab0ce 100644
--- a/libjava/classpath/javax/management/MBeanConstructorInfo.java
+++ b/libjava/classpath/javax/management/MBeanConstructorInfo.java
@@ -76,7 +76,7 @@ public class MBeanConstructorInfo
* @param cons the constructor.
*/
// API issue with lack of <?> on Constructor
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public MBeanConstructorInfo(String desc, Constructor cons)
{
super(cons.getName(), desc);
diff --git a/libjava/classpath/javax/management/remote/rmi/RMIConnection.java b/libjava/classpath/javax/management/remote/rmi/RMIConnection.java
index 434051d58ac..edf8c895c86 100644
--- a/libjava/classpath/javax/management/remote/rmi/RMIConnection.java
+++ b/libjava/classpath/javax/management/remote/rmi/RMIConnection.java
@@ -152,7 +152,7 @@ public interface RMIConnection
* NotificationFilter,
* Object)
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
void addNotificationListener(ObjectName name, ObjectName listener,
MarshalledObject filter, MarshalledObject passback,
Subject delegationSubject)
@@ -224,7 +224,7 @@ public interface RMIConnection
* NotificationFilter,
* Object)
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters,
Subject[] delegationSubjects)
throws InstanceNotFoundException, IOException;
@@ -298,7 +298,7 @@ public interface RMIConnection
* @throws IOException if an I/O error occurred in communicating with
* the bean server.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
ObjectInstance createMBean(String className, ObjectName name,
MarshalledObject params, String[] sig,
Subject delegationSubject)
@@ -367,7 +367,7 @@ public interface RMIConnection
* @throws IOException if an I/O error occurred in communicating with
* the bean server.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
ObjectInstance createMBean(String className, ObjectName name,
ObjectName loaderName, MarshalledObject params,
String[] sig, Subject delegationSubject)
@@ -767,7 +767,7 @@ public interface RMIConnection
* the bean server.
* @see DynamicMBean#invoke(String, Object[], String[])
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Object invoke(ObjectName bean, String name, MarshalledObject params,
String[] sig, Subject delegationSubject)
throws InstanceNotFoundException, MBeanException,
@@ -871,7 +871,7 @@ public interface RMIConnection
* @throws SecurityException if the client or delegated subject (if any) does
* not have permission to invoke this operation.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query,
Subject delegationSubject)
throws IOException;
@@ -914,7 +914,7 @@ public interface RMIConnection
* @throws IOException if an I/O error occurred in communicating with
* the bean server.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Set<ObjectName> queryNames(ObjectName name, MarshalledObject query,
Subject delegationSubject)
throws IOException;
@@ -960,7 +960,7 @@ public interface RMIConnection
* NotificationFilter,
* Object)
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
void removeNotificationListener(ObjectName name,
ObjectName listener,
MarshalledObject filter,
@@ -1080,7 +1080,7 @@ public interface RMIConnection
* @see #getAttribute(ObjectName, String, Subject)
* @see javax.management.DynamicMBean#setAttribute(Attribute)
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
void setAttribute(ObjectName name, MarshalledObject attribute,
Subject delegationSubject)
throws InstanceNotFoundException, AttributeNotFoundException,
@@ -1121,7 +1121,7 @@ public interface RMIConnection
* @see #getAttributes(ObjectName, String[])
* @see DynamicMBean#setAttributes(AttributeList)
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
AttributeList setAttributes(ObjectName name, MarshalledObject attributes,
Subject delegationSubject)
throws InstanceNotFoundException, ReflectionException,
diff --git a/libjava/classpath/javax/security/sasl/Sasl.java b/libjava/classpath/javax/security/sasl/Sasl.java
index 402ad6edeab..475be09e01e 100644
--- a/libjava/classpath/javax/security/sasl/Sasl.java
+++ b/libjava/classpath/javax/security/sasl/Sasl.java
@@ -265,6 +265,16 @@ public class Sasl
*/
public static final String REUSE = "javax.security.sasl.reuse";
+ /**
+ * <p>The name of a property which specifies the credentials to use.
+ * The value of the property is a mechanism-specific object which can
+ * be used to supply credentials to a mechanism which provides delegated
+ * authentication.</p>
+ *
+ * <p>The value of this constant is <code>"javax.security.sasl.credentials"</code>.</p>
+ */
+ public static final String CREDENTIALS = "javax.security.sasl.credentials";
+
private static final String CLIENT_FACTORY_SVC = "SaslClientFactory.";
private static final String SERVER_FACTORY_SVC = "SaslServerFactory.";
private static final String ALIAS = "Alg.Alias.";
diff --git a/libjava/classpath/javax/sound/midi/MetaMessage.java b/libjava/classpath/javax/sound/midi/MetaMessage.java
index 4d43975c3a4..0aab153cbfa 100644
--- a/libjava/classpath/javax/sound/midi/MetaMessage.java
+++ b/libjava/classpath/javax/sound/midi/MetaMessage.java
@@ -120,10 +120,12 @@ public class MetaMessage extends MidiMessage
// Now compute the length representation
long buffer = length & 0x7F;
- while ((length >>= 7) > 0)
+ // Avoid altering length variable; PR42551
+ lengthValue = length;
+ while ((lengthValue >>= 7) > 0)
{
buffer <<= 8;
- buffer |= ((length & 0x7F) | 0x80);
+ buffer |= ((lengthValue & 0x7F) | 0x80);
}
// Now store the variable length length value
diff --git a/libjava/classpath/javax/sound/midi/MidiDevice.java b/libjava/classpath/javax/sound/midi/MidiDevice.java
index 7a0ca7f2bb8..7ce22caedfc 100644
--- a/libjava/classpath/javax/sound/midi/MidiDevice.java
+++ b/libjava/classpath/javax/sound/midi/MidiDevice.java
@@ -46,6 +46,7 @@ package javax.sound.midi;
*
*/
public interface MidiDevice
+ extends AutoCloseable
{
/**
* Get the Info object describing this device.
diff --git a/libjava/classpath/javax/sound/midi/MidiSystem.java b/libjava/classpath/javax/sound/midi/MidiSystem.java
index b273b98e5ff..0e3680563fb 100644
--- a/libjava/classpath/javax/sound/midi/MidiSystem.java
+++ b/libjava/classpath/javax/sound/midi/MidiSystem.java
@@ -1,5 +1,5 @@
/* MidiSystem.java -- Access system MIDI resources
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -76,9 +76,9 @@ public class MidiSystem
*/
public static MidiDevice.Info[] getMidiDeviceInfo()
{
- Iterator deviceProviders =
+ Iterator<MidiDeviceProvider> deviceProviders =
ServiceFactory.lookupProviders(MidiDeviceProvider.class);
- List infoList = new ArrayList();
+ List<MidiDevice.Info> infoList = new ArrayList<MidiDevice.Info>();
while (deviceProviders.hasNext())
{
@@ -88,8 +88,7 @@ public class MidiSystem
infoList.add(infos[--i]);
}
- return (MidiDevice.Info[])
- infoList.toArray(new MidiDevice.Info[infoList.size()]);
+ return infoList.toArray(new MidiDevice.Info[infoList.size()]);
}
/**
@@ -103,7 +102,7 @@ public class MidiSystem
public static MidiDevice getMidiDevice(MidiDevice.Info info)
throws MidiUnavailableException
{
- Iterator deviceProviders =
+ Iterator<MidiDeviceProvider> deviceProviders =
ServiceFactory.lookupProviders(MidiDeviceProvider.class);
if (! deviceProviders.hasNext())
@@ -216,10 +215,11 @@ public class MidiSystem
public static Soundbank getSoundbank(InputStream stream)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class);
+ Iterator<SoundbankReader> readers =
+ ServiceFactory.lookupProviders(SoundbankReader.class);
while (readers.hasNext())
{
- SoundbankReader sr = (SoundbankReader) readers.next();
+ SoundbankReader sr = readers.next();
Soundbank sb = sr.getSoundbank(stream);
if (sb != null)
return sb;
@@ -238,10 +238,11 @@ public class MidiSystem
public static Soundbank getSoundbank(URL url)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class);
+ Iterator<SoundbankReader> readers =
+ ServiceFactory.lookupProviders(SoundbankReader.class);
while (readers.hasNext())
{
- SoundbankReader sr = (SoundbankReader) readers.next();
+ SoundbankReader sr = readers.next();
Soundbank sb = sr.getSoundbank(url);
if (sb != null)
return sb;
@@ -260,7 +261,8 @@ public class MidiSystem
public static Soundbank getSoundbank(File file)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(SoundbankReader.class);
+ Iterator<SoundbankReader> readers =
+ ServiceFactory.lookupProviders(SoundbankReader.class);
while (readers.hasNext())
{
SoundbankReader sr = (SoundbankReader) readers.next();
@@ -283,10 +285,11 @@ public class MidiSystem
public static MidiFileFormat getMidiFileFormat(InputStream stream)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
MidiFileFormat sb = sr.getMidiFileFormat(stream);
if (sb != null)
return sb;
@@ -305,10 +308,11 @@ public class MidiSystem
public static MidiFileFormat getMidiFileFormat(URL url)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
MidiFileFormat sb = sr.getMidiFileFormat(url);
if (sb != null)
return sb;
@@ -327,10 +331,11 @@ public class MidiSystem
public static MidiFileFormat getMidiFileFormat(File file)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
MidiFileFormat sb = sr.getMidiFileFormat(file);
if (sb != null)
return sb;
@@ -350,10 +355,11 @@ public class MidiSystem
public static Sequence getSequence(InputStream stream)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
Sequence sq = sr.getSequence(stream);
if (sq != null)
return sq;
@@ -372,10 +378,11 @@ public class MidiSystem
public static Sequence getSequence(URL url)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
Sequence sq = sr.getSequence(url);
if (sq != null)
return sq;
@@ -394,10 +401,11 @@ public class MidiSystem
public static Sequence getSequence(File file)
throws InvalidMidiDataException, IOException
{
- Iterator readers = ServiceFactory.lookupProviders(MidiFileReader.class);
+ Iterator<MidiFileReader> readers =
+ ServiceFactory.lookupProviders(MidiFileReader.class);
while (readers.hasNext())
{
- MidiFileReader sr = (MidiFileReader) readers.next();
+ MidiFileReader sr = readers.next();
Sequence sq = sr.getSequence(file);
if (sq != null)
return sq;
@@ -417,10 +425,11 @@ public class MidiSystem
boolean supported[] = new boolean[3];
// The number of supported formats.
int count = 0;
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers =
+ ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
- MidiFileWriter fw = (MidiFileWriter) writers.next();
+ MidiFileWriter fw = writers.next();
int types[] = fw.getMidiFileTypes();
for (int i = types.length; i > 0;)
{
@@ -449,10 +458,10 @@ public class MidiSystem
*/
public static boolean isFileTypeSupported(int fileType)
{
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
- MidiFileWriter fw = (MidiFileWriter) writers.next();
+ MidiFileWriter fw = writers.next();
if (fw.isFileTypeSupported(fileType))
return true;
@@ -473,7 +482,7 @@ public class MidiSystem
boolean supported[] = new boolean[3];
// The number of supported formats.
int count = 0;
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
MidiFileWriter fw = (MidiFileWriter) writers.next();
@@ -507,7 +516,7 @@ public class MidiSystem
*/
public static boolean isFileTypeSupported(int fileType, Sequence sequence)
{
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
MidiFileWriter fw = (MidiFileWriter) writers.next();
@@ -531,7 +540,7 @@ public class MidiSystem
public static int write(Sequence in, int fileType, OutputStream out)
throws IOException
{
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
MidiFileWriter fw = (MidiFileWriter) writers.next();
@@ -556,7 +565,7 @@ public class MidiSystem
public static int write(Sequence in, int fileType, File out)
throws IOException
{
- Iterator writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
+ Iterator<MidiFileWriter> writers = ServiceFactory.lookupProviders(MidiFileWriter.class);
while (writers.hasNext())
{
MidiFileWriter fw = (MidiFileWriter) writers.next();
diff --git a/libjava/classpath/javax/sound/midi/Receiver.java b/libjava/classpath/javax/sound/midi/Receiver.java
index bc660d0d62d..535c9df65cd 100644
--- a/libjava/classpath/javax/sound/midi/Receiver.java
+++ b/libjava/classpath/javax/sound/midi/Receiver.java
@@ -47,6 +47,7 @@ package javax.sound.midi;
*
*/
public interface Receiver
+ extends AutoCloseable
{
/**
* Send a MIDI message and timestamp. Some receivers don't support
diff --git a/libjava/classpath/javax/sound/midi/SoundbankResource.java b/libjava/classpath/javax/sound/midi/SoundbankResource.java
index 0b4675b106f..6c3a4f28bf2 100644
--- a/libjava/classpath/javax/sound/midi/SoundbankResource.java
+++ b/libjava/classpath/javax/sound/midi/SoundbankResource.java
@@ -1,5 +1,5 @@
/* SoundbankResource.java -- An audio resource from a sound bank
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -49,7 +49,7 @@ public abstract class SoundbankResource
{
private final Soundbank soundbank;
private final String name;
- private final Class dataClass;
+ private final Class<?> dataClass;
/**
* Create a SoundbankResource object.
diff --git a/libjava/classpath/javax/sound/midi/Track.java b/libjava/classpath/javax/sound/midi/Track.java
index 550d2e1c4ab..9c392577f2c 100644
--- a/libjava/classpath/javax/sound/midi/Track.java
+++ b/libjava/classpath/javax/sound/midi/Track.java
@@ -1,5 +1,5 @@
/* Track.java -- A track of MIDI events
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -54,10 +54,10 @@ public class Track
/**
* The list of MidiEvents for this track.
*/
- Vector events = new Vector();
+ Vector<MidiEvent> events = new Vector<MidiEvent>();
// A HashSet to speed processing
- private HashSet eventSet = new HashSet();
+ private HashSet<MidiEvent> eventSet = new HashSet<MidiEvent>();
// This is only instantiable within this package.
Track()
@@ -83,7 +83,7 @@ public class Track
long targetTick = event.getTick();
int i = events.size() - 1;
- while (i >= 0 && (((MidiEvent)events.get(i)).getTick() > targetTick))
+ while (i >= 0 && (events.get(i).getTick() > targetTick))
i--;
events.add(i+1, event);
return true;
@@ -127,7 +127,7 @@ public class Track
{
try
{
- return (MidiEvent) events.get(index);
+ return events.get(index);
}
catch (IndexOutOfBoundsException e)
{
@@ -158,7 +158,7 @@ public class Track
synchronized (events)
{
int size = events.size();
- return ((MidiEvent) events.get(size - 1)).getTick();
+ return events.get(size - 1).getTick();
}
}
}
diff --git a/libjava/classpath/javax/sound/midi/Transmitter.java b/libjava/classpath/javax/sound/midi/Transmitter.java
index ab81cc8198d..2c62795a338 100644
--- a/libjava/classpath/javax/sound/midi/Transmitter.java
+++ b/libjava/classpath/javax/sound/midi/Transmitter.java
@@ -47,6 +47,7 @@ package javax.sound.midi;
*
*/
public interface Transmitter
+ extends AutoCloseable
{
/**
* Set the Receiver to which MIDI events will be sent.
diff --git a/libjava/classpath/javax/sound/sampled/AudioSystem.java b/libjava/classpath/javax/sound/sampled/AudioSystem.java
index 01133c91d3a..599952154fd 100644
--- a/libjava/classpath/javax/sound/sampled/AudioSystem.java
+++ b/libjava/classpath/javax/sound/sampled/AudioSystem.java
@@ -1,5 +1,5 @@
/* Main interface to audio system
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -84,10 +84,10 @@ public class AudioSystem
public static AudioFileFormat getAudioFileFormat(File f)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioFileFormat(f);
@@ -111,10 +111,10 @@ public class AudioSystem
public static AudioFileFormat getAudioFileFormat(InputStream is)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioFileFormat(is);
@@ -138,10 +138,10 @@ public class AudioSystem
public static AudioFileFormat getAudioFileFormat(URL url)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioFileFormat(url);
@@ -162,10 +162,10 @@ public class AudioSystem
{
HashSet<AudioFileFormat.Type> result
= new HashSet<AudioFileFormat.Type>();
- Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class);
+ Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class);
while (i.hasNext())
{
- AudioFileWriter writer = (AudioFileWriter) i.next();
+ AudioFileWriter writer = i.next();
AudioFileFormat.Type[] types = writer.getAudioFileTypes();
for (int j = 0; j < types.length; ++j)
result.add(types[j]);
@@ -183,10 +183,10 @@ public class AudioSystem
{
HashSet<AudioFileFormat.Type> result
= new HashSet<AudioFileFormat.Type>();
- Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class);
+ Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class);
while (i.hasNext())
{
- AudioFileWriter writer = (AudioFileWriter) i.next();
+ AudioFileWriter writer = i.next();
AudioFileFormat.Type[] types = writer.getAudioFileTypes(ais);
for (int j = 0; j < types.length; ++j)
result.add(types[j]);
@@ -206,10 +206,11 @@ public class AudioSystem
public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targ,
AudioInputStream ais)
{
- Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class);
+ Iterator<FormatConversionProvider> i =
+ ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
if (! prov.isConversionSupported(targ, ais.getFormat()))
continue;
return prov.getAudioInputStream(targ, ais);
@@ -229,10 +230,11 @@ public class AudioSystem
public static AudioInputStream getAudioInputStream(AudioFormat targ,
AudioInputStream ais)
{
- Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class);
+ Iterator<FormatConversionProvider> i =
+ ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
if (! prov.isConversionSupported(targ, ais.getFormat()))
continue;
return prov.getAudioInputStream(targ, ais);
@@ -251,10 +253,10 @@ public class AudioSystem
public static AudioInputStream getAudioInputStream(File f)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioInputStream(f);
@@ -278,10 +280,10 @@ public class AudioSystem
public static AudioInputStream getAudioInputStream(InputStream is)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioInputStream(is);
@@ -305,10 +307,10 @@ public class AudioSystem
public static AudioInputStream getAudioInputStream(URL url)
throws UnsupportedAudioFileException, IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileReader.class);
+ Iterator<AudioFileReader> i = ServiceFactory.lookupProviders(AudioFileReader.class);
while (i.hasNext())
{
- AudioFileReader reader = (AudioFileReader) i.next();
+ AudioFileReader reader = i.next();
try
{
return reader.getAudioInputStream(url);
@@ -401,10 +403,10 @@ public class AudioSystem
*/
public static Mixer getMixer(Mixer.Info info)
{
- Iterator i = ServiceFactory.lookupProviders(MixerProvider.class);
+ Iterator<MixerProvider> i = ServiceFactory.lookupProviders(MixerProvider.class);
while (i.hasNext())
{
- MixerProvider prov = (MixerProvider) i.next();
+ MixerProvider prov = i.next();
if (prov.isMixerSupported(info))
return prov.getMixer(info);
}
@@ -417,10 +419,10 @@ public class AudioSystem
public static Mixer.Info[] getMixerInfo()
{
HashSet<Mixer.Info> result = new HashSet<Mixer.Info>();
- Iterator i = ServiceFactory.lookupProviders(MixerProvider.class);
+ Iterator<MixerProvider> i = ServiceFactory.lookupProviders(MixerProvider.class);
while (i.hasNext())
{
- MixerProvider prov = (MixerProvider) i.next();
+ MixerProvider prov = i.next();
Mixer.Info[] is = prov.getMixerInfo();
for (int j = 0; j < is.length; ++j)
result.add(is[j]);
@@ -536,10 +538,11 @@ public class AudioSystem
{
HashSet<AudioFormat.Encoding> result
= new HashSet<AudioFormat.Encoding>();
- Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class);
+ Iterator<FormatConversionProvider> i =
+ ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
if (! prov.isSourceEncodingSupported(source))
continue;
AudioFormat.Encoding[] es = prov.getTargetEncodings();
@@ -558,10 +561,11 @@ public class AudioSystem
{
HashSet<AudioFormat.Encoding> result
= new HashSet<AudioFormat.Encoding>();
- Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class);
+ Iterator<FormatConversionProvider> i =
+ ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
AudioFormat.Encoding[] es = prov.getTargetEncodings(source);
for (int j = 0; j < es.length; ++j)
result.add(es[j]);
@@ -579,10 +583,11 @@ public class AudioSystem
AudioFormat sourceFmt)
{
HashSet<AudioFormat> result = new HashSet<AudioFormat>();
- Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class);
+ Iterator<FormatConversionProvider> i =
+ ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
AudioFormat[] es = prov.getTargetFormats(encoding, sourceFmt);
for (int j = 0; j < es.length; ++j)
result.add(es[j]);
@@ -618,11 +623,11 @@ public class AudioSystem
public static boolean isConversionSupported(AudioFormat.Encoding targ,
AudioFormat source)
{
- Iterator i
+ Iterator<FormatConversionProvider> i
= ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
if (prov.isConversionSupported(targ, source))
return true;
}
@@ -638,11 +643,11 @@ public class AudioSystem
public static boolean isConversionSupported(AudioFormat targ,
AudioFormat source)
{
- Iterator i
+ Iterator<FormatConversionProvider> i
= ServiceFactory.lookupProviders(FormatConversionProvider.class);
while (i.hasNext())
{
- FormatConversionProvider prov = (FormatConversionProvider) i.next();
+ FormatConversionProvider prov = i.next();
if (prov.isConversionSupported(targ, source))
return true;
}
@@ -714,10 +719,10 @@ public class AudioSystem
File out)
throws IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class);
+ Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class);
while (i.hasNext())
{
- AudioFileWriter w = (AudioFileWriter) i.next();
+ AudioFileWriter w = i.next();
if (w.isFileTypeSupported(type, ais))
return w.write(ais, type, out);
}
@@ -739,10 +744,10 @@ public class AudioSystem
OutputStream os)
throws IOException
{
- Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class);
+ Iterator<AudioFileWriter> i = ServiceFactory.lookupProviders(AudioFileWriter.class);
while (i.hasNext())
{
- AudioFileWriter w = (AudioFileWriter) i.next();
+ AudioFileWriter w = i.next();
if (w.isFileTypeSupported(type, ais))
return w.write(ais, type, os);
}
diff --git a/libjava/classpath/javax/sound/sampled/Line.java b/libjava/classpath/javax/sound/sampled/Line.java
index 62d284bd849..1e08f1a8b49 100644
--- a/libjava/classpath/javax/sound/sampled/Line.java
+++ b/libjava/classpath/javax/sound/sampled/Line.java
@@ -1,5 +1,5 @@
/* An input or output line
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -43,6 +43,7 @@ package javax.sound.sampled;
* @since 1.3
*/
public interface Line
+ extends AutoCloseable
{
/**
* An object of this type holds information about a Line.
@@ -50,7 +51,7 @@ public interface Line
*/
class Info
{
- private Class klass;
+ private Class<?> klass;
/**
* Create a new Info object. The argument is the class of the line,
diff --git a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
index 260c385aa3e..1e53961964e 100644
--- a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
+++ b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
@@ -293,7 +293,7 @@ public class DefaultMutableTreeNode
*
* @return an enumeration of tree nodes
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration children()
{
if (children.size() == 0)
@@ -718,7 +718,7 @@ public class DefaultMutableTreeNode
*
* @return Enumeration
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration preorderEnumeration()
{
return new PreorderEnumeration(this);
@@ -729,7 +729,7 @@ public class DefaultMutableTreeNode
*
* @return Enumeration
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration postorderEnumeration()
{
return new PostorderEnumeration(this);
@@ -740,7 +740,7 @@ public class DefaultMutableTreeNode
*
* @return Enumeration
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration breadthFirstEnumeration()
{
return new BreadthFirstEnumeration(this);
@@ -751,7 +751,7 @@ public class DefaultMutableTreeNode
*
* @return Enumeration
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration depthFirstEnumeration()
{
return postorderEnumeration();
@@ -764,7 +764,7 @@ public class DefaultMutableTreeNode
*
* @return Enumeration
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
public Enumeration pathFromAncestorEnumeration(TreeNode node)
{
if (node == null)
@@ -1073,7 +1073,6 @@ public class DefaultMutableTreeNode
return !queue.isEmpty();
}
- @SuppressWarnings("unchecked")
public TreeNode nextElement()
{
if (queue.isEmpty())
@@ -1081,6 +1080,7 @@ public class DefaultMutableTreeNode
TreeNode node = queue.removeFirst();
+ @SuppressWarnings("unchecked")
Enumeration<TreeNode> children =
(Enumeration<TreeNode>) node.children();
while (children.hasMoreElements())
@@ -1100,11 +1100,13 @@ public class DefaultMutableTreeNode
Stack<Enumeration<TreeNode>> childrenEnums =
new Stack<Enumeration<TreeNode>>();
- @SuppressWarnings("unchecked")
PreorderEnumeration(TreeNode node)
{
next = node;
- childrenEnums.push((Enumeration<TreeNode>) node.children());
+ @SuppressWarnings("unchecked")
+ Enumeration<TreeNode> children =
+ (Enumeration<TreeNode>) node.children();
+ childrenEnums.push(children);
}
public boolean hasMoreElements()
@@ -1127,14 +1129,16 @@ public class DefaultMutableTreeNode
return current;
}
- @SuppressWarnings("unchecked")
private TreeNode traverse(Enumeration<TreeNode> children)
{
// If more children are available step down.
if (children.hasMoreElements())
{
TreeNode child = children.nextElement();
- childrenEnums.push((Enumeration<TreeNode>) child.children());
+ @SuppressWarnings("unchecked")
+ Enumeration<TreeNode> grandchildren =
+ (Enumeration<TreeNode>) child.children();
+ childrenEnums.push(grandchildren);
return child;
}
@@ -1163,11 +1167,13 @@ public class DefaultMutableTreeNode
Stack<Enumeration<TreeNode>> childrenEnums =
new Stack<Enumeration<TreeNode>>();
- @SuppressWarnings("unchecked")
PostorderEnumeration(TreeNode node)
{
nodes.push(node);
- childrenEnums.push((Enumeration<TreeNode>) node.children());
+ @SuppressWarnings("unchecked")
+ Enumeration<TreeNode> children =
+ (Enumeration<TreeNode>) node.children();
+ childrenEnums.push(children);
}
public boolean hasMoreElements()
@@ -1185,7 +1191,6 @@ public class DefaultMutableTreeNode
return traverse(children);
}
- @SuppressWarnings("unchecked")
private TreeNode traverse(Enumeration<TreeNode> children)
{
if (children.hasMoreElements())
@@ -1193,8 +1198,9 @@ public class DefaultMutableTreeNode
TreeNode node = children.nextElement();
nodes.push(node);
- Enumeration<TreeNode> newChildren =
- (Enumeration<TreeNode>) node.children();
+ @SuppressWarnings("unchecked")
+ Enumeration<TreeNode> newChildren =
+ (Enumeration<TreeNode>) node.children();
childrenEnums.push(newChildren);
return traverse(newChildren);
diff --git a/libjava/classpath/javax/swing/tree/TreeNode.java b/libjava/classpath/javax/swing/tree/TreeNode.java
index b68b498a7b3..f146741f49e 100644
--- a/libjava/classpath/javax/swing/tree/TreeNode.java
+++ b/libjava/classpath/javax/swing/tree/TreeNode.java
@@ -107,7 +107,7 @@ public interface TreeNode
*
* @return An enumeration of the children of this node.
*/
- @SuppressWarnings("unchecked") // Required for API compatibility
+ @SuppressWarnings("rawtypes") // Required for API compatibility
Enumeration children();
}
diff --git a/libjava/classpath/javax/xml/namespace/NamespaceContext.java b/libjava/classpath/javax/xml/namespace/NamespaceContext.java
index b3e1e1f61d0..9816480c394 100644
--- a/libjava/classpath/javax/xml/namespace/NamespaceContext.java
+++ b/libjava/classpath/javax/xml/namespace/NamespaceContext.java
@@ -61,7 +61,7 @@ public interface NamespaceContext
/**
* Returns all the prefixes currently bound to the given namespace URI.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public Iterator getPrefixes(String namespaceURI);
}
diff --git a/libjava/classpath/javax/xml/stream/XMLEventFactory.java b/libjava/classpath/javax/xml/stream/XMLEventFactory.java
index fc2d493d5d4..750b62e2cd6 100644
--- a/libjava/classpath/javax/xml/stream/XMLEventFactory.java
+++ b/libjava/classpath/javax/xml/stream/XMLEventFactory.java
@@ -223,7 +223,7 @@ public abstract class XMLEventFactory
/**
* Create a start-element event.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public abstract StartElement createStartElement(QName name,
Iterator attributes,
Iterator namespaces);
@@ -238,7 +238,7 @@ public abstract class XMLEventFactory
/**
* Create a start-element event.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public abstract StartElement createStartElement(String prefix,
String namespaceUri,
String localName,
@@ -248,7 +248,7 @@ public abstract class XMLEventFactory
/**
* Create a start-element event.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public abstract StartElement createStartElement(String prefix,
String namespaceUri,
String localName,
@@ -259,7 +259,7 @@ public abstract class XMLEventFactory
/**
* Create an end-element event.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public abstract EndElement createEndElement(QName name,
Iterator namespaces);
@@ -273,7 +273,7 @@ public abstract class XMLEventFactory
/**
* Create an end-element event.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
public abstract EndElement createEndElement(String prefix,
String namespaceUri,
String localName,
diff --git a/libjava/classpath/javax/xml/stream/XMLEventReader.java b/libjava/classpath/javax/xml/stream/XMLEventReader.java
index d5c76b6b192..10373ee0edb 100644
--- a/libjava/classpath/javax/xml/stream/XMLEventReader.java
+++ b/libjava/classpath/javax/xml/stream/XMLEventReader.java
@@ -43,7 +43,7 @@ import javax.xml.stream.events.XMLEvent;
/**
* An XML parser.
*/
-@SuppressWarnings("unchecked")
+@SuppressWarnings("rawtypes")
public interface XMLEventReader
extends Iterator
{
diff --git a/libjava/classpath/javax/xml/stream/events/DTD.java b/libjava/classpath/javax/xml/stream/events/DTD.java
index b1a906919f5..f7c07957950 100644
--- a/libjava/classpath/javax/xml/stream/events/DTD.java
+++ b/libjava/classpath/javax/xml/stream/events/DTD.java
@@ -60,13 +60,13 @@ public interface DTD
/**
* Returns the notations declared in the DTD.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
List getNotations();
/**
* Returns the entities declared in the DTD.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
List getEntities();
}
diff --git a/libjava/classpath/javax/xml/stream/events/EndElement.java b/libjava/classpath/javax/xml/stream/events/EndElement.java
index a6b5c3fa281..cd7c2d3865f 100644
--- a/libjava/classpath/javax/xml/stream/events/EndElement.java
+++ b/libjava/classpath/javax/xml/stream/events/EndElement.java
@@ -55,7 +55,7 @@ public interface EndElement
/**
* Returns the namespaces that have gone out of scope.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Iterator getNamespaces();
}
diff --git a/libjava/classpath/javax/xml/stream/events/StartElement.java b/libjava/classpath/javax/xml/stream/events/StartElement.java
index 359b57eefd7..9d189729940 100644
--- a/libjava/classpath/javax/xml/stream/events/StartElement.java
+++ b/libjava/classpath/javax/xml/stream/events/StartElement.java
@@ -56,13 +56,13 @@ public interface StartElement
/**
* Returns the attributes declared on this element.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Iterator getAttributes();
/**
* Returns the namespaces declared on this element.
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Iterator getNamespaces();
/**
diff --git a/libjava/classpath/javax/xml/xpath/XPathFunction.java b/libjava/classpath/javax/xml/xpath/XPathFunction.java
index 4406e318c89..b7be0902d88 100644
--- a/libjava/classpath/javax/xml/xpath/XPathFunction.java
+++ b/libjava/classpath/javax/xml/xpath/XPathFunction.java
@@ -52,7 +52,7 @@ public interface XPathFunction
* Evaluate the function with the specified arguments.
* @param args the list of arguments
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
Object evaluate(List args)
throws XPathFunctionException;
diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in
index 384e77294ec..c4174e2bf77 100644
--- a/libjava/classpath/lib/Makefile.in
+++ b/libjava/classpath/lib/Makefile.in
@@ -42,9 +42,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -63,7 +60,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -173,6 +172,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class
index ace90631790..5d010e752bb 100644
--- a/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class
+++ b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class
index ccee011a495..64d83fd1a9d 100644
--- a/libjava/classpath/lib/gnu/java/locale/LocaleData.class
+++ b/libjava/classpath/lib/gnu/java/locale/LocaleData.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class
index ffb2da7509b..db38ad46e75 100644
--- a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class
+++ b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class
index d079038dc97..dd989b6d980 100644
--- a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class
+++ b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class
index aefba44845c..2d363eb7ce6 100644
--- a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class
+++ b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class
index 5942a8b50b3..064e10a57b6 100644
--- a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class
+++ b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class
index a186739030b..9810143f135 100644
--- a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class
+++ b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
index 14f2ee9a929..e5a1d9bb375 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class
index 98308e6611c..9b42393aec1 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class
Binary files differ
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 dec2b5f6682..3d8fe9a8414 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class
Binary files differ
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 0405bdd810b..194122d1d56 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class
Binary files differ
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 e49d868ffcb..c710c51639e 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class
Binary files differ
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 79fce7a5815..691d70495bb 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class
index 0e098ae2d53..4ad4e0b239e 100644
--- a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class
+++ b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class
index 4c2a29eefd4..0efa6acd13e 100644
--- a/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class
+++ b/libjava/classpath/lib/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.class
Binary files differ
diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class
index b5719ac9315..5852448de9d 100644
--- a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class
+++ b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class
index fc1e1f6c58b..e92c06a6b0a 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class
index 334cb337b98..6c69f0463ff 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class
index 94e29bfccfd..1a0d3781499 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class
index 43db6c328d8..323d25d3172 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class
index 75ddff5a5fc..d63c6519ef7 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
index dd5cd3dcd33..80f2414fe7f 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area$Segment.class b/libjava/classpath/lib/java/awt/geom/Area$Segment.class
index 8bf86731618..b9d4cf283f0 100644
--- a/libjava/classpath/lib/java/awt/geom/Area$Segment.class
+++ b/libjava/classpath/lib/java/awt/geom/Area$Segment.class
Binary files differ
diff --git a/libjava/classpath/lib/java/awt/geom/Area.class b/libjava/classpath/lib/java/awt/geom/Area.class
index 33273fe49ba..e6f9f59432d 100644
--- a/libjava/classpath/lib/java/awt/geom/Area.class
+++ b/libjava/classpath/lib/java/awt/geom/Area.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/XMLDecoder.class b/libjava/classpath/lib/java/beans/XMLDecoder.class
index 813af311c12..83afdd9ea7f 100644
--- a/libjava/classpath/lib/java/beans/XMLDecoder.class
+++ b/libjava/classpath/lib/java/beans/XMLDecoder.class
Binary files differ
diff --git a/libjava/classpath/lib/java/beans/XMLEncoder.class b/libjava/classpath/lib/java/beans/XMLEncoder.class
index af6b30fdd6b..7a42958082a 100644
--- a/libjava/classpath/lib/java/beans/XMLEncoder.class
+++ b/libjava/classpath/lib/java/beans/XMLEncoder.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/Closeable.class b/libjava/classpath/lib/java/io/Closeable.class
index e47f5e4dbbb..68ec82094ec 100644
--- a/libjava/classpath/lib/java/io/Closeable.class
+++ b/libjava/classpath/lib/java/io/Closeable.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInput.class b/libjava/classpath/lib/java/io/ObjectInput.class
index f0d1a9ea8e4..d6d71abd558 100644
--- a/libjava/classpath/lib/java/io/ObjectInput.class
+++ b/libjava/classpath/lib/java/io/ObjectInput.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class
index ebb9450e0eb..cd95577b555 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$1.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class
index 04120792738..3eab2f2363e 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$2.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class
index 0662f872473..eb606bd3a98 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class
index a95eebd471a..05d09e224a5 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class
index dcc37dda2b4..911a87fefc2 100644
--- a/libjava/classpath/lib/java/io/ObjectInputStream.class
+++ b/libjava/classpath/lib/java/io/ObjectInputStream.class
Binary files differ
diff --git a/libjava/classpath/lib/java/io/ObjectOutput.class b/libjava/classpath/lib/java/io/ObjectOutput.class
index ccc1902d67c..6a117277391 100644
--- a/libjava/classpath/lib/java/io/ObjectOutput.class
+++ b/libjava/classpath/lib/java/io/ObjectOutput.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/AssertionError.class b/libjava/classpath/lib/java/lang/AssertionError.class
index e81c3c60d33..c8e7090d435 100644
--- a/libjava/classpath/lib/java/lang/AssertionError.class
+++ b/libjava/classpath/lib/java/lang/AssertionError.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/AutoCloseable.class b/libjava/classpath/lib/java/lang/AutoCloseable.class
new file mode 100644
index 00000000000..a25ccd62254
--- /dev/null
+++ b/libjava/classpath/lib/java/lang/AutoCloseable.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Boolean.class b/libjava/classpath/lib/java/lang/Boolean.class
index 820c590167e..ebef14d7b4b 100644
--- a/libjava/classpath/lib/java/lang/Boolean.class
+++ b/libjava/classpath/lib/java/lang/Boolean.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Byte.class b/libjava/classpath/lib/java/lang/Byte.class
index 56635ac580c..906aec7d7cc 100644
--- a/libjava/classpath/lib/java/lang/Byte.class
+++ b/libjava/classpath/lib/java/lang/Byte.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/ClassNotFoundException.class b/libjava/classpath/lib/java/lang/ClassNotFoundException.class
index 27239e48359..fd984dc9b55 100644
--- a/libjava/classpath/lib/java/lang/ClassNotFoundException.class
+++ b/libjava/classpath/lib/java/lang/ClassNotFoundException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/IllegalAccessException.class b/libjava/classpath/lib/java/lang/IllegalAccessException.class
index e5dd5b449a7..2091af3e895 100644
--- a/libjava/classpath/lib/java/lang/IllegalAccessException.class
+++ b/libjava/classpath/lib/java/lang/IllegalAccessException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/InstantiationException.class b/libjava/classpath/lib/java/lang/InstantiationException.class
index 60311a8eb8f..f6a6dbff687 100644
--- a/libjava/classpath/lib/java/lang/InstantiationException.class
+++ b/libjava/classpath/lib/java/lang/InstantiationException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Integer.class b/libjava/classpath/lib/java/lang/Integer.class
index 2f894a434cb..867af0a3d70 100644
--- a/libjava/classpath/lib/java/lang/Integer.class
+++ b/libjava/classpath/lib/java/lang/Integer.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/LinkageError.class b/libjava/classpath/lib/java/lang/LinkageError.class
index b297fe1b51b..f23cc2d3767 100644
--- a/libjava/classpath/lib/java/lang/LinkageError.class
+++ b/libjava/classpath/lib/java/lang/LinkageError.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Long.class b/libjava/classpath/lib/java/lang/Long.class
index 7223992a11c..69096d99021 100644
--- a/libjava/classpath/lib/java/lang/Long.class
+++ b/libjava/classpath/lib/java/lang/Long.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/NoSuchFieldException.class b/libjava/classpath/lib/java/lang/NoSuchFieldException.class
index 4ead8e6eec1..6dbff7efc37 100644
--- a/libjava/classpath/lib/java/lang/NoSuchFieldException.class
+++ b/libjava/classpath/lib/java/lang/NoSuchFieldException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/NoSuchMethodException.class b/libjava/classpath/lib/java/lang/NoSuchMethodException.class
index 47cacd0af19..b81172dd5a4 100644
--- a/libjava/classpath/lib/java/lang/NoSuchMethodException.class
+++ b/libjava/classpath/lib/java/lang/NoSuchMethodException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/ReflectiveOperationException.class b/libjava/classpath/lib/java/lang/ReflectiveOperationException.class
new file mode 100644
index 00000000000..2e4832d15c8
--- /dev/null
+++ b/libjava/classpath/lib/java/lang/ReflectiveOperationException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/Short.class b/libjava/classpath/lib/java/lang/Short.class
index 0baf8dc1405..0043f318e02 100644
--- a/libjava/classpath/lib/java/lang/Short.class
+++ b/libjava/classpath/lib/java/lang/Short.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class
index fa53a89a74a..350304589b7 100644
--- a/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class
+++ b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class
Binary files differ
diff --git a/libjava/classpath/lib/java/lang/reflect/Member.class b/libjava/classpath/lib/java/lang/reflect/Member.class
index aca4f3daaac..083005b1008 100644
--- a/libjava/classpath/lib/java/lang/reflect/Member.class
+++ b/libjava/classpath/lib/java/lang/reflect/Member.class
Binary files differ
diff --git a/libjava/classpath/lib/java/nio/channels/FileLock.class b/libjava/classpath/lib/java/nio/channels/FileLock.class
index 72969c2e832..528bcf6a6e5 100644
--- a/libjava/classpath/lib/java/nio/channels/FileLock.class
+++ b/libjava/classpath/lib/java/nio/channels/FileLock.class
Binary files differ
diff --git a/libjava/classpath/lib/java/sql/Connection.class b/libjava/classpath/lib/java/sql/Connection.class
index d9adc68489a..7e5234e330b 100644
--- a/libjava/classpath/lib/java/sql/Connection.class
+++ b/libjava/classpath/lib/java/sql/Connection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/sql/ResultSet.class b/libjava/classpath/lib/java/sql/ResultSet.class
index 7f08c392dbb..98e2557efd7 100644
--- a/libjava/classpath/lib/java/sql/ResultSet.class
+++ b/libjava/classpath/lib/java/sql/ResultSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/sql/Statement.class b/libjava/classpath/lib/java/sql/Statement.class
index c383f68f691..fede03928f4 100644
--- a/libjava/classpath/lib/java/sql/Statement.class
+++ b/libjava/classpath/lib/java/sql/Statement.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class
index 53c56927c6d..f38e62e2857 100644
--- a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class
+++ b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/AttributedString.class b/libjava/classpath/lib/java/text/AttributedString.class
index bf878f4fb08..a6e41999fa1 100644
--- a/libjava/classpath/lib/java/text/AttributedString.class
+++ b/libjava/classpath/lib/java/text/AttributedString.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/AttributedStringIterator.class b/libjava/classpath/lib/java/text/AttributedStringIterator.class
index 9768432c04b..6607eb6ddec 100644
--- a/libjava/classpath/lib/java/text/AttributedStringIterator.class
+++ b/libjava/classpath/lib/java/text/AttributedStringIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/Bidi.class b/libjava/classpath/lib/java/text/Bidi.class
index a66d1b5ab84..47d3bd703fb 100644
--- a/libjava/classpath/lib/java/text/Bidi.class
+++ b/libjava/classpath/lib/java/text/Bidi.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/BreakIterator.class b/libjava/classpath/lib/java/text/BreakIterator.class
index 7b2538c7525..8e9fd0f785d 100644
--- a/libjava/classpath/lib/java/text/BreakIterator.class
+++ b/libjava/classpath/lib/java/text/BreakIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/ChoiceFormat.class b/libjava/classpath/lib/java/text/ChoiceFormat.class
index 7fb2c84fdcf..a7d8afe1008 100644
--- a/libjava/classpath/lib/java/text/ChoiceFormat.class
+++ b/libjava/classpath/lib/java/text/ChoiceFormat.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/CollationElementIterator.class b/libjava/classpath/lib/java/text/CollationElementIterator.class
index 2e5675ee45a..b98f01988f5 100644
--- a/libjava/classpath/lib/java/text/CollationElementIterator.class
+++ b/libjava/classpath/lib/java/text/CollationElementIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class b/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class
new file mode 100644
index 00000000000..22ecff9b82c
--- /dev/null
+++ b/libjava/classpath/lib/java/text/DateFormatSymbols$DFSData.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class
index 7a367e68d9f..6c4ac6eaea4 100644
--- a/libjava/classpath/lib/java/text/DateFormatSymbols.class
+++ b/libjava/classpath/lib/java/text/DateFormatSymbols.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/DecimalFormat.class b/libjava/classpath/lib/java/text/DecimalFormat.class
index ac7c7f9bb54..30d1a9b5bcf 100644
--- a/libjava/classpath/lib/java/text/DecimalFormat.class
+++ b/libjava/classpath/lib/java/text/DecimalFormat.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/Format.class b/libjava/classpath/lib/java/text/Format.class
index 317e543130b..f028f402d80 100644
--- a/libjava/classpath/lib/java/text/Format.class
+++ b/libjava/classpath/lib/java/text/Format.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/MessageFormat$Field.class b/libjava/classpath/lib/java/text/MessageFormat$Field.class
index 9d3230341b6..c8eb504ef87 100644
--- a/libjava/classpath/lib/java/text/MessageFormat$Field.class
+++ b/libjava/classpath/lib/java/text/MessageFormat$Field.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/MessageFormat.class b/libjava/classpath/lib/java/text/MessageFormat.class
index 5ad2834305c..b077c51624c 100644
--- a/libjava/classpath/lib/java/text/MessageFormat.class
+++ b/libjava/classpath/lib/java/text/MessageFormat.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/NumberFormat$Field.class b/libjava/classpath/lib/java/text/NumberFormat$Field.class
index 4a926d3fa84..3f43075427f 100644
--- a/libjava/classpath/lib/java/text/NumberFormat$Field.class
+++ b/libjava/classpath/lib/java/text/NumberFormat$Field.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/NumberFormat.class b/libjava/classpath/lib/java/text/NumberFormat.class
index e1072aa8ed9..0a1939e8829 100644
--- a/libjava/classpath/lib/java/text/NumberFormat.class
+++ b/libjava/classpath/lib/java/text/NumberFormat.class
Binary files differ
diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat.class b/libjava/classpath/lib/java/text/SimpleDateFormat.class
index 1bca569ab66..a6de266da51 100644
--- a/libjava/classpath/lib/java/text/SimpleDateFormat.class
+++ b/libjava/classpath/lib/java/text/SimpleDateFormat.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class
index b636121d370..efe63ea919a 100644
--- a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class
+++ b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$1.class b/libjava/classpath/lib/java/util/Collections$1.class
index 2ec7056606a..ce90ce96f67 100644
--- a/libjava/classpath/lib/java/util/Collections$1.class
+++ b/libjava/classpath/lib/java/util/Collections$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class
index 98e5b931568..2ed6a1167db 100644
--- a/libjava/classpath/lib/java/util/Collections$2.class
+++ b/libjava/classpath/lib/java/util/Collections$2.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class
index b5e38121697..575702bfeef 100644
--- a/libjava/classpath/lib/java/util/Collections$3.class
+++ b/libjava/classpath/lib/java/util/Collections$3.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class
index 9a096576108..8bcf8e2bf3d 100644
--- a/libjava/classpath/lib/java/util/Collections$4.class
+++ b/libjava/classpath/lib/java/util/Collections$4.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class
index 3046de6df7c..18e449828ef 100644
--- a/libjava/classpath/lib/java/util/Collections$5.class
+++ b/libjava/classpath/lib/java/util/Collections$5.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$6.class b/libjava/classpath/lib/java/util/Collections$6.class
index ef1f0819a9d..70025e35850 100644
--- a/libjava/classpath/lib/java/util/Collections$6.class
+++ b/libjava/classpath/lib/java/util/Collections$6.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$7.class b/libjava/classpath/lib/java/util/Collections$7.class
index 8b6f1d6d04a..4a0a105d704 100644
--- a/libjava/classpath/lib/java/util/Collections$7.class
+++ b/libjava/classpath/lib/java/util/Collections$7.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$8.class b/libjava/classpath/lib/java/util/Collections$8.class
index f86527f472e..d5c1b9f2da2 100644
--- a/libjava/classpath/lib/java/util/Collections$8.class
+++ b/libjava/classpath/lib/java/util/Collections$8.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$9.class b/libjava/classpath/lib/java/util/Collections$9.class
index 625c6ae89f2..9bfb7953aaa 100644
--- a/libjava/classpath/lib/java/util/Collections$9.class
+++ b/libjava/classpath/lib/java/util/Collections$9.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class
index 519d8b0342c..b2112a8d286 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class
index 4012973b467..9d24eba7fe7 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedList.class b/libjava/classpath/lib/java/util/Collections$CheckedList.class
index f103934355e..153d80288d5 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedList.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class
index 621cedfbe5f..0af97b9765b 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class
index a0d77a84368..1e0de3b6410 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedMap.class
index 42fbd4ac730..92527ed7abc 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class
index 7cb5ae94af9..9ae361edfa6 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSet.class
index e77d9ec4d24..b8694fc42ad 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedSet.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class
index 3e00bc057fd..0af46c40e84 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class
index 576324033ad..76b1860527c 100644
--- a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class
+++ b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$CopiesList.class b/libjava/classpath/lib/java/util/Collections$CopiesList.class
index be0e555f09d..6b178452205 100644
--- a/libjava/classpath/lib/java/util/Collections$CopiesList.class
+++ b/libjava/classpath/lib/java/util/Collections$CopiesList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$EmptyList.class b/libjava/classpath/lib/java/util/Collections$EmptyList.class
index d6ff9f337ab..11fee9ad7dc 100644
--- a/libjava/classpath/lib/java/util/Collections$EmptyList.class
+++ b/libjava/classpath/lib/java/util/Collections$EmptyList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$EmptyMap.class b/libjava/classpath/lib/java/util/Collections$EmptyMap.class
index d7a2934e033..960b9fbfc40 100644
--- a/libjava/classpath/lib/java/util/Collections$EmptyMap.class
+++ b/libjava/classpath/lib/java/util/Collections$EmptyMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$EmptySet.class b/libjava/classpath/lib/java/util/Collections$EmptySet.class
index a1a88ebf79b..d099ca2f111 100644
--- a/libjava/classpath/lib/java/util/Collections$EmptySet.class
+++ b/libjava/classpath/lib/java/util/Collections$EmptySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class
index 5716fa21753..25475af47b3 100644
--- a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class
+++ b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$MapSet.class b/libjava/classpath/lib/java/util/Collections$MapSet.class
index 8a02ecb6d5c..e89a8a5701e 100644
--- a/libjava/classpath/lib/java/util/Collections$MapSet.class
+++ b/libjava/classpath/lib/java/util/Collections$MapSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class
index c07305a5ff1..5dae886b7eb 100644
--- a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class
+++ b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SingletonList.class b/libjava/classpath/lib/java/util/Collections$SingletonList.class
index ba6f153b93d..386f9e21860 100644
--- a/libjava/classpath/lib/java/util/Collections$SingletonList.class
+++ b/libjava/classpath/lib/java/util/Collections$SingletonList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class
index d1c50c42220..e5f2dec2785 100644
--- a/libjava/classpath/lib/java/util/Collections$SingletonMap.class
+++ b/libjava/classpath/lib/java/util/Collections$SingletonMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SingletonSet.class b/libjava/classpath/lib/java/util/Collections$SingletonSet.class
index 53a098dc3de..74259753f38 100644
--- a/libjava/classpath/lib/java/util/Collections$SingletonSet.class
+++ b/libjava/classpath/lib/java/util/Collections$SingletonSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class
index eccb9db1f9c..0137ad0e500 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class
index 78f7edf7599..0326c55b343 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class
index 74f95300db4..24776e1b480 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class
index 2a50db40567..b3939e6e574 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
index fcb0533d9c3..c4b9b58a776 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class
index 08fdb6ca728..9efce59f143 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class
index 1ae8ea307c4..f19098e5c0e 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class
index 62a25ade1e2..5d7cbf97da3 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class
index 30ba4a3cd7b..d985d01975f 100644
--- a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class
+++ b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class
index e51c804ac4c..f7ccb5a7844 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class
index 6a53b067ee4..b82ef1134b1 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class
index db804bfbc60..98c66ce661a 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class
index 490e99c442f..73150c8fe14 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class
index 56f5692fe49..0d4581ef81a 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class
index 081bf52dcc1..664edb1c76a 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
index d985db96dd2..7a9ea6e229e 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class
index 63b38d4dfaa..589ee32e42d 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class
index 39be8d6650e..77c4642f829 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class
index 39be88cf4cd..0a336156374 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class
index 96c5905bb46..83ff190d122 100644
--- a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class
+++ b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Collections.class b/libjava/classpath/lib/java/util/Collections.class
index 1e5ed0c27d8..e2f12077141 100644
--- a/libjava/classpath/lib/java/util/Collections.class
+++ b/libjava/classpath/lib/java/util/Collections.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Formatter.class b/libjava/classpath/lib/java/util/Formatter.class
index 888c29ce773..54020a65f4c 100644
--- a/libjava/classpath/lib/java/util/Formatter.class
+++ b/libjava/classpath/lib/java/util/Formatter.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class
index 7ec855bf98b..b97d9ca01d6 100644
--- a/libjava/classpath/lib/java/util/TimeZone$1.class
+++ b/libjava/classpath/lib/java/util/TimeZone$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/TimeZone.class b/libjava/classpath/lib/java/util/TimeZone.class
index 8856dc33ff0..b971d38889b 100644
--- a/libjava/classpath/lib/java/util/TimeZone.class
+++ b/libjava/classpath/lib/java/util/TimeZone.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/regex/Matcher.class b/libjava/classpath/lib/java/util/regex/Matcher.class
index 0d623321cbf..c1632e9490a 100644
--- a/libjava/classpath/lib/java/util/regex/Matcher.class
+++ b/libjava/classpath/lib/java/util/regex/Matcher.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/security/sasl/Sasl.class b/libjava/classpath/lib/javax/security/sasl/Sasl.class
index f730d3191f4..2208e38b912 100644
--- a/libjava/classpath/lib/javax/security/sasl/Sasl.class
+++ b/libjava/classpath/lib/javax/security/sasl/Sasl.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class
index 8ac24605748..42e8118f914 100644
--- a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class
+++ b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class
index 773d8316752..08ec6aa66c1 100644
--- a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class
+++ b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class
index a299aa94f4e..4c0727f5338 100644
--- a/libjava/classpath/lib/javax/sound/midi/MidiDevice.class
+++ b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class
index 96da633c284..1e7b3c9cad8 100644
--- a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class
+++ b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/Receiver.class b/libjava/classpath/lib/javax/sound/midi/Receiver.class
index 965bd62c370..01b552499f2 100644
--- a/libjava/classpath/lib/javax/sound/midi/Receiver.class
+++ b/libjava/classpath/lib/javax/sound/midi/Receiver.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class
index 9d6077963fd..6ff8e6175a8 100644
--- a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class
+++ b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/Track.class b/libjava/classpath/lib/javax/sound/midi/Track.class
index 48f61a4f035..bdbc3a80b64 100644
--- a/libjava/classpath/lib/javax/sound/midi/Track.class
+++ b/libjava/classpath/lib/javax/sound/midi/Track.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/midi/Transmitter.class b/libjava/classpath/lib/javax/sound/midi/Transmitter.class
index 41b968b49ff..b68647baefb 100644
--- a/libjava/classpath/lib/javax/sound/midi/Transmitter.class
+++ b/libjava/classpath/lib/javax/sound/midi/Transmitter.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class
index 81dc2ac1a00..4c0d466d583 100644
--- a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class
+++ b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class
index 209f4f95589..b12d731a377 100644
--- a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class
+++ b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/sound/sampled/Line.class b/libjava/classpath/lib/javax/sound/sampled/Line.class
index 40270c1546f..56aec6b25e9 100644
--- a/libjava/classpath/lib/javax/sound/sampled/Line.class
+++ b/libjava/classpath/lib/javax/sound/sampled/Line.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class
index 25f7b08b78e..b79d528ca3d 100644
--- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class
+++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class
index 58240b4697f..8e60a6bf8c3 100644
--- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class
+++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class
Binary files differ
diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class
index f370cc8fdcb..132bbb773f5 100644
--- a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class
+++ b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class
Binary files differ
diff --git a/libjava/classpath/m4/ac_prog_javac.m4 b/libjava/classpath/m4/ac_prog_javac.m4
index 2162c1d8d8a..0f8f226efbd 100644
--- a/libjava/classpath/m4/ac_prog_javac.m4
+++ b/libjava/classpath/m4/ac_prog_javac.m4
@@ -36,7 +36,7 @@ dnl Modified to remove jikes by Andrew John Hughes on 2008-02-11
AC_DEFUN_ONCE([AC_PROG_JAVAC],[
AC_REQUIRE([AC_EXEEXT])dnl
-ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
+ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
GCJ_OPTS="-g"
if test "x$JAVAPREFIX" = x; then
diff --git a/libjava/classpath/m4/acinclude.m4 b/libjava/classpath/m4/acinclude.m4
index 65cb8fc4769..b5fa999bb5e 100644
--- a/libjava/classpath/m4/acinclude.m4
+++ b/libjava/classpath/m4/acinclude.m4
@@ -190,6 +190,8 @@ AC_DEFUN([CLASSPATH_WITH_GJDOC],
case ${gjdoc_version} in
0.7.9) ;;
0.8*) ;;
+ 0.9*) ;;
+ 1*) ;;
*) AC_MSG_ERROR([Building documentation requires GJDoc >= 0.7.9, ${gjdoc_version} found.]) ;;
esac
fi
diff --git a/libjava/classpath/m4/lib-ld.m4 b/libjava/classpath/m4/lib-ld.m4
new file mode 100644
index 00000000000..ebb30528bd5
--- /dev/null
+++ b/libjava/classpath/m4/lib-ld.m4
@@ -0,0 +1,110 @@
+# lib-ld.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]* | [A-Za-z]:[\\/]*)]
+ [re_direlt='/[^/][^/]*/\.\./']
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT([$LD])
+else
+ AC_MSG_RESULT([no])
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/libjava/classpath/m4/lib-link.m4 b/libjava/classpath/m4/lib-link.m4
new file mode 100644
index 00000000000..c73bd8e3a47
--- /dev/null
+++ b/libjava/classpath/m4/lib-link.m4
@@ -0,0 +1,774 @@
+# lib-link.m4 serial 21 (gettext-0.18)
+dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_TRY_LINK([$3], [$4],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE([rpath],
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$acl_hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/libjava/classpath/m4/lib-prefix.m4 b/libjava/classpath/m4/lib-prefix.m4
new file mode 100644
index 00000000000..1601ceaefd3
--- /dev/null
+++ b/libjava/classpath/m4/lib-prefix.m4
@@ -0,0 +1,224 @@
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/libjava/classpath/missing b/libjava/classpath/missing
index 86a8fc31e3c..28055d2ae6f 100755
--- a/libjava/classpath/missing
+++ b/libjava/classpath/missing
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2009-04-28.21; # UTC
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -84,6 +84,7 @@ Supported PROGRAM values:
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -121,6 +122,15 @@ case $1 in
# Not GNU programs, they don't have --version.
;;
+ tar*)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
@@ -216,7 +226,7 @@ WARNING: \`$1' $msg. You should only need it if
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
- eval LASTARG=\${$#}
+ eval LASTARG="\${$#}"
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -246,7 +256,7 @@ WARNING: \`$1' is $msg. You should only need it if
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
- eval LASTARG=\${$#}
+ eval LASTARG="\${$#}"
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -308,6 +318,41 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file
;;
+ tar*)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in
index 8761df3e5d3..360fb52c7a5 100644
--- a/libjava/classpath/native/Makefile.in
+++ b/libjava/classpath/native/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -207,6 +206,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in
index 0fa84e35a6a..bd15ce000e1 100644
--- a/libjava/classpath/native/fdlibm/Makefile.in
+++ b/libjava/classpath/native/fdlibm/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -197,6 +196,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in
index 1965c7d041b..8131810182a 100644
--- a/libjava/classpath/native/jawt/Makefile.in
+++ b/libjava/classpath/native/jawt/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in
index 542704bf4ba..6971c2b9aa7 100644
--- a/libjava/classpath/native/jni/Makefile.in
+++ b/libjava/classpath/native/jni/Makefile.in
@@ -39,9 +39,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -60,7 +57,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -207,6 +206,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in
index 5df9d61b00e..13522d56d11 100644
--- a/libjava/classpath/native/jni/classpath/Makefile.in
+++ b/libjava/classpath/native/jni/classpath/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -188,6 +187,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in
index 431f0a87ad9..df8aa6f14f1 100644
--- a/libjava/classpath/native/jni/gconf-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/gstreamer-peer/Makefile.in b/libjava/classpath/native/jni/gstreamer-peer/Makefile.in
index 8f3afc61c31..5160d3ffe53 100644
--- a/libjava/classpath/native/jni/gstreamer-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gstreamer-peer/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in
index 2ca2fe57af0..ee92424bf44 100644
--- a/libjava/classpath/native/jni/gtk-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -252,6 +251,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
index a5e59f7e4fd..771b23e3738 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
@@ -59,14 +59,14 @@ enum java_awt_font_baseline {
java_awt_font_HANGING_BASELINE = 2
};
-static PangoFT2FontMap *ft2_map = NULL;
+static PangoFontMap *font_map = NULL;
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GdkFontPeer_initStaticState
(JNIEnv *env, jclass clazz __attribute__((unused)))
{
gtkpeer_init_font_IDs(env);
- ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_new());
+ font_map = pango_ft2_font_map_new();
}
JNIEXPORT void JNICALL
@@ -287,7 +287,7 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont
pango_font_description_set_size (pfont->desc, size * PANGO_SCALE);
/* Create new context */
- pfont->ctx = pango_ft2_font_map_create_context (ft2_map);
+ pfont->ctx = pango_font_map_create_context (font_map);
g_assert (pfont->ctx != NULL);
pango_context_set_font_description (pfont->ctx, pfont->desc);
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
index c2fbba21283..0b0dbec4bdb 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
@@ -313,7 +313,7 @@ Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer(JNIEnv *env, jobject obj,
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkImage_freePixbuf(JNIEnv *env, jobject obj)
{
- gdk_pixbuf_unref (cp_gtk_image_get_pixbuf (env, obj));
+ g_object_unref (cp_gtk_image_get_pixbuf (env, obj));
}
/**
diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in
index b9c68adc149..3b3cfecca3e 100644
--- a/libjava/classpath/native/jni/java-io/Makefile.in
+++ b/libjava/classpath/native/jni/java-io/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -213,6 +212,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-io/java_io_VMConsole.c b/libjava/classpath/native/jni/java-io/java_io_VMConsole.c
index 2883f5f73eb..3ce0a489da3 100644
--- a/libjava/classpath/native/jni/java-io/java_io_VMConsole.c
+++ b/libjava/classpath/native/jni/java-io/java_io_VMConsole.c
@@ -47,6 +47,10 @@ exception statement from your version. */
/*************************************************************************/
+#ifndef IUCLC
+#define IUCLC 0
+#endif
+
#define TERMIOS_ECHO_IFLAGS (IUCLC|IXON|IXOFF|IXANY)
#define TERMIOS_ECHO_LFLAGS (ECHO|ECHOE|ECHOK|ECHONL|TOSTOP)
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in
index ea9c3af09a2..ef5ec214e96 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.in
+++ b/libjava/classpath/native/jni/java-lang/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -227,6 +226,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-math/Makefile.in b/libjava/classpath/native/jni/java-math/Makefile.in
index 67e4e84c725..f5c3838e517 100644
--- a/libjava/classpath/native/jni/java-math/Makefile.in
+++ b/libjava/classpath/native/jni/java-math/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in
index 252b9c526ff..64d4025d3fa 100644
--- a/libjava/classpath/native/jni/java-net/Makefile.in
+++ b/libjava/classpath/native/jni/java-net/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -223,6 +222,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in
index d3458810f8e..1576cc47b03 100644
--- a/libjava/classpath/native/jni/java-nio/Makefile.in
+++ b/libjava/classpath/native/jni/java-nio/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -221,6 +220,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in
index 50189a649b0..a612fd129ed 100644
--- a/libjava/classpath/native/jni/java-util/Makefile.in
+++ b/libjava/classpath/native/jni/java-util/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -210,6 +209,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c b/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c
index a3a986d36bc..0830cbe8cb0 100644
--- a/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c
+++ b/libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c
@@ -53,6 +53,7 @@ exception statement from your version. */
#include <stdlib.h>
#include <jni.h>
+#include <jcl.h>
#include "java_util_VMTimeZone.h"
@@ -169,7 +170,13 @@ Java_java_util_VMTimeZone_getSystemTimeZoneId (JNIEnv * env,
tz1_len = strlen (tz1);
tz2_len = strlen (tz2);
tzoff_len = jint_to_charbuf (tzoff + 11, tzoffset);
- tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1); /* FIXME alloc */
+ tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1);
+ if (tzid == NULL) {
+ JCL_ThrowException (env, "java/lang/OutOfMemoryError",
+ "malloc() failed");
+ return 0;
+ }
+
memcpy (tzid, tz1, tz1_len);
memcpy (tzid + tz1_len, tzoff + 11 - tzoff_len, tzoff_len);
memcpy (tzid + tz1_len + tzoff_len, tz2, tz2_len);
diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in
index 8a32375b47e..ac3db83f581 100644
--- a/libjava/classpath/native/jni/midi-alsa/Makefile.in
+++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in
index b9083b0599c..b1dd722d26a 100644
--- a/libjava/classpath/native/jni/midi-dssi/Makefile.in
+++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -216,6 +215,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c b/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
index ec1477ec8db..55881bef884 100644
--- a/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
+++ b/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
@@ -283,15 +283,20 @@ JNIEXPORT void JNICALL
Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1
(JNIEnv *env, jclass clazz __attribute__((unused)), jlong handle)
{
- unsigned int port_count, j, cindex;
+ unsigned int port_count, j, cindex, ret;
const char **ports;
int controller = 0;
dssi_data *data = (dssi_data *) (long) handle;
- if ((data->jack_client = jack_client_new (data->desc->LADSPA_Plugin->Label)) == 0)
+ jack_status_t status;
+ char buffer[31];
+
+ if ((data->jack_client = jack_client_open (data->desc->LADSPA_Plugin->Label,
+ JackUseExactName, &status)) == 0)
{
- /* JCL_ThrowException (env, "javax/sound/midi/MidiUnavailableException", */
- JCL_ThrowException (env, "java/io/IOException",
- "can't create jack client");
+ ret = snprintf(buffer, 31, "can't create jack client: %4d", status);
+ assert (ret == 30);
+ JCL_ThrowException (env, "javax/sound/midi/MidiUnavailableException",
+ buffer);
return;
}
diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in
index 83c9e26b479..82d60cdac5f 100644
--- a/libjava/classpath/native/jni/native-lib/Makefile.in
+++ b/libjava/classpath/native/jni/native-lib/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -188,6 +187,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in
index ada76339080..5fef00d2104 100644
--- a/libjava/classpath/native/jni/qt-peer/Makefile.in
+++ b/libjava/classpath/native/jni/qt-peer/Makefile.in
@@ -43,9 +43,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -64,7 +61,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -218,6 +217,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in
index 5394250d366..257d03eb2bb 100644
--- a/libjava/classpath/native/jni/xmlj/Makefile.in
+++ b/libjava/classpath/native/jni/xmlj/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -212,6 +211,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in
index 1d2c51a75a5..c673768574c 100644
--- a/libjava/classpath/native/plugin/Makefile.in
+++ b/libjava/classpath/native/plugin/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -214,6 +213,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/org/omg/CORBA/LocalObject.java b/libjava/classpath/org/omg/CORBA/LocalObject.java
index 60436ee3540..cb0a7e3dbe9 100644
--- a/libjava/classpath/org/omg/CORBA/LocalObject.java
+++ b/libjava/classpath/org/omg/CORBA/LocalObject.java
@@ -267,7 +267,7 @@ public class LocalObject
*
* @throws NO_IMPLEMENT always. If used, the method must be overridden.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public ServantObject _servant_preinvoke(String operation, Class expectedType)
{
throw new NO_IMPLEMENT(INAPPROPRIATE);
diff --git a/libjava/classpath/org/omg/CORBA/portable/Delegate.java b/libjava/classpath/org/omg/CORBA/portable/Delegate.java
index 33812abe22e..798a1c5e8fe 100644
--- a/libjava/classpath/org/omg/CORBA/portable/Delegate.java
+++ b/libjava/classpath/org/omg/CORBA/portable/Delegate.java
@@ -376,7 +376,7 @@ public abstract class Delegate
* @return the servant or null if the servant is not an expected type
* of the method is not supported, for example, due security reasons.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public ServantObject servant_preinvoke(org.omg.CORBA.Object self,
String operation, Class expectedType
)
diff --git a/libjava/classpath/org/omg/CORBA/portable/InputStream.java b/libjava/classpath/org/omg/CORBA/portable/InputStream.java
index aee540d0103..4ac63b66dcd 100644
--- a/libjava/classpath/org/omg/CORBA/portable/InputStream.java
+++ b/libjava/classpath/org/omg/CORBA/portable/InputStream.java
@@ -237,7 +237,7 @@ public abstract class InputStream
* @param klass a CORBA class
* @throws NO_IMPLEMENT, always.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public Object read_Object(Class klass)
{
throw new NO_IMPLEMENT();
diff --git a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
index c7ee707f3ae..5b7919fd0a8 100644
--- a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
+++ b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
@@ -341,7 +341,7 @@ public abstract class ObjectImpl
* @return the servant or null if the servant is not an expected type
* of the method is not supported, for example, due security reasons.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public ServantObject _servant_preinvoke(String method, Class expected_type)
{
return delegate.servant_preinvoke(this, method, expected_type);
diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java
index b457abe98b5..33ad522db98 100644
--- a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java
+++ b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java
@@ -99,7 +99,7 @@ public abstract class InputStream
*
* @return an abstract interface, unmarshaled from the stream
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public Object read_abstract_interface(Class clz)
{
boolean isValue = read_boolean();
@@ -148,7 +148,7 @@ public abstract class InputStream
*
* @return an value type structure, unmarshaled from the stream
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public Serializable read_value(Class clz)
{
return Vio.read(this, clz);
diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java
index e9496ffce4d..4273bfc9057 100644
--- a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java
+++ b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java
@@ -136,7 +136,7 @@ public abstract class OutputStream
*
* @param value a value type object to write.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public void write_value(Serializable value, Class clz)
{
Vio.write(this, value, clz);
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java b/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java
index dcfb9b59e3c..c0939937fd6 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java
@@ -68,7 +68,7 @@ public class _DynAnyFactoryStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynAnyFactoryOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java b/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java
index 1a81be30613..a2adec9ed72 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java
@@ -66,7 +66,7 @@ public class _DynAnyStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynAnyOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java b/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java
index 74e763b3784..719cf87ae35 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java
@@ -66,7 +66,7 @@ public class _DynArrayStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynArrayOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java b/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java
index e56ed75175e..07b2b7c5dbf 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java
@@ -66,7 +66,7 @@ public class _DynEnumStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynEnumOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java b/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java
index 759b48a4e2f..51eadf004d0 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java
@@ -66,7 +66,7 @@ public class _DynFixedStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynFixedOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java b/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java
index 488a7de9cf1..6de97b2fc45 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java
@@ -67,7 +67,7 @@ public class _DynSequenceStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynSequenceOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java b/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java
index 907f3c83468..f2ca27f0a80 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynStructStub.java
@@ -68,7 +68,7 @@ public class _DynStructStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynStructOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java b/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java
index 6789a34e8a1..de351d8d4a9 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java
@@ -68,7 +68,7 @@ public class _DynUnionStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynUnionOperations.class;
/**
diff --git a/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java b/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java
index fffccfe0e8e..199b7eba832 100644
--- a/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java
+++ b/libjava/classpath/org/omg/DynamicAny/_DynValueStub.java
@@ -68,7 +68,7 @@ public class _DynValueStub
/**
* The purpose and value of this field are not documented.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = DynValueOperations.class;
/**
diff --git a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java
index 658ac683c30..811d7430ecd 100644
--- a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java
+++ b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java
@@ -70,7 +70,7 @@ public class _ServantActivatorStub
* This the purpose of this field is undocumented up till 1.5 java API
* inclusive.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = ServantActivatorOperations.class;
/**
diff --git a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java
index 039140ebc25..f63340f9822 100644
--- a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java
+++ b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java
@@ -71,7 +71,7 @@ public class _ServantLocatorStub
* This the purpose of this field is undocumented up till 1.5 java API
* inclusive.
*/
- @SuppressWarnings("unchecked") // Needed for API compatibility
+ @SuppressWarnings("rawtypes") // Needed for API compatibility
public static final Class _opsClass = ServantLocatorOperations.class;
/**
diff --git a/libjava/classpath/resource/Makefile.in b/libjava/classpath/resource/Makefile.in
index 81e609175f5..6c136eecb1f 100644
--- a/libjava/classpath/resource/Makefile.in
+++ b/libjava/classpath/resource/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -192,6 +191,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties
index f43bb6f8378..d6d27bdcb08 100644
--- a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties
+++ b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties
@@ -1,5 +1,5 @@
# Localized error messages for gnu.regexp, in Italian.
-# $Id: MessagesBundle_it.properties,v 1.2 2006/12/10 20:25:50 gnu_andrew Exp $
+# $Id: MessagesBundle_it.properties,v 1.2 2006-12-10 20:25:50 gnu_andrew Exp $
# Messaggi italiani per gnu.regexp.
#
# Attenzione: Questa traduzione fu scritto da un italo-americano.
diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in
index d8685815e03..21092327470 100644
--- a/libjava/classpath/scripts/Makefile.in
+++ b/libjava/classpath/scripts/Makefile.in
@@ -40,9 +40,6 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -61,7 +58,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -169,6 +168,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/scripts/classpath.spec.in b/libjava/classpath/scripts/classpath.spec.in
index 4120d25507c..5363565bf1b 100644
--- a/libjava/classpath/scripts/classpath.spec.in
+++ b/libjava/classpath/scripts/classpath.spec.in
@@ -1,4 +1,4 @@
-# $Id: classpath.spec.in,v 1.3 2006/12/10 20:25:50 gnu_andrew Exp $
+# $Id: classpath.spec.in,v 1.3 2006-12-10 20:25:50 gnu_andrew Exp $
%define version_num @PACKAGE_VERSION@
%define release_num 1
diff --git a/libjava/classpath/tools/Makefile.in b/libjava/classpath/tools/Makefile.in
index 2cf1a008500..b4b2eff49e5 100644
--- a/libjava/classpath/tools/Makefile.in
+++ b/libjava/classpath/tools/Makefile.in
@@ -54,9 +54,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
- $(top_srcdir)/../../config/lib-ld.m4 \
- $(top_srcdir)/../../config/lib-link.m4 \
- $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -75,7 +72,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
@@ -344,6 +343,7 @@ MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
MKDIR_P = @MKDIR_P@
MOC = @MOC@
+MOC4 = @MOC4@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
NM = @NM@
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class
index 8b98e630029..79882ce6ae5 100644
--- a/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class
Binary files differ
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 56584bdbb7b..32273554958 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class
Binary files differ
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 939e890ceae..902a01419b0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class
Binary files differ
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 d81864f04a8..00000000000
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class
+++ /dev/null
Binary files differ
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 9336e358481..00000000000
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class
+++ /dev/null
Binary files differ
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 b3a2f7b42ee..04004cb70a2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
index 0e061038e72..d2186334cef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
index c962bcc1c39..1b2e6ae8b4c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
Binary files differ
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 794d3568d94..9c7adce8f36 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
Binary files differ
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 88ed2d53cc6..e15bd1484a3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class
Binary files differ
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 3576ed98ead..064c32a94a0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
Binary files differ
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 3d38a044d03..be042e31c85 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
Binary files differ
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 c6e6f121d7e..bc665c53955 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
index be1eab39129..902315bde68 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
Binary files differ
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 c7429e294aa..23331dd807a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
Binary files differ
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 5d89719d400..0db6ddeefe1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class
Binary files differ
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 3802e3405ce..64faa74cd05 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
index 5d2f22bd82c..3be42965d30 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
index 36049302b99..b3184c7b503 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
Binary files differ
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 de3c21147f6..71e6b964053 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class
Binary files differ
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 7f8381f9160..6050b4153ed 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class
Binary files differ
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 ce853e17119..499539d2eab 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class
Binary files differ
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 2963ccf597e..3cbde58449f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
Binary files differ
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 7c9903dc5ea..d7e8ae7700b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
index 4ca710dd980..ced91143c01 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
Binary files differ
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 a38964f0f08..2b9c1944a28 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class
Binary files differ
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 b6855389289..44a0368205e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
index 11549cf7f8b..e17d1579250 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
Binary files differ
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 5b5aff1523b..df34d72c460 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class
Binary files differ
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 884422294cd..47b676e040f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
index 2ba0ccf09cc..bd6579339ef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
index 597a142cf50..b89326a1af7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
index bf1c99a432e..4c2f6db71e8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
Binary files differ
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 7bf3e4cb45f..0869d61f601 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
Binary files differ
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 41645e8e9b4..021d8852511 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
index ed2e3427e9a..e4806c7148a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
Binary files differ
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 68ec874477a..ed5da320b81 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
Binary files differ
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 54fefac98b2..e0066d314d8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
Binary files differ
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 81583d89783..0c49dc9f9e8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
Binary files differ
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 a3952995909..04172f0e42b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
Binary files differ
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 61bf1f80899..c27b42a9a33 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
Binary files differ
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 60869e5f88f..e86838565e9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
Binary files differ
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 5a9d8482806..7b0d498bdb2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
index 12a49837f2b..9a0f9ee2d5d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
index 32e26ffa466..bea6401401f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
index fd99e130d67..e2571d3b48c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
Binary files differ
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 991629a166d..6b6b275563d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
index 441b8dac273..e02f015bd25 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
Binary files differ
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 b5015e391a9..b8edf695456 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
Binary files differ
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 8690a7e735b..ba8882960bd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
index 6dbf679eea3..3722ca4b939 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
Binary files differ
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 2a4473bbd23..6b6d81b67f8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
Binary files differ
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 50d01704914..2e70f426a37 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
index 5dde313d481..bca2f27acc2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
index 19e991a628e..2d791e63e25 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
index afa9335a840..255a0b67fd5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
Binary files differ
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 97bda5f9b93..a50c91d36d2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
Binary files differ
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 bdf920109b7..ad2f73d0735 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
Binary files differ
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 e9947add8c3..903c7b5bb79 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
index 2ef9d54d998..867559a266d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
Binary files differ
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 55600beac85..193cf9483f1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
index f89d662043a..15bb0100270 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
Binary files differ
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 037311b3ba2..537511c7c9f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
index 3db73689da6..a61b2bd4286 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
Binary files differ
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 470c80c2d83..405eb2a289f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class
Binary files differ
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 804802be5dc..2030e06e708 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class
Binary files differ
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 b59c7fdc62f..d3a656f6fe0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class
Binary files differ
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 965c1aa4199..c7e946969bc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
index 45c686d3c79..ea004c5ba0b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class
index 5ff7b190298..dd89517daa3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.class
Binary files differ
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 59a4e3fb9f4..efa322a7692 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
index 313ad8786ba..c5de4c84c7f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
Binary files differ
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 8f5efc34920..30f6e121d1d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
Binary files differ
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 f86dafaf9d3..7a54ba1de95 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class
index 955983bf135..ad70fb684d1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class
Binary files differ
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 c9b4581dc5d..ebc89802244 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class
Binary files differ
diff --git a/libjava/classpath/tools/com/sun/javadoc/Doc.java b/libjava/classpath/tools/com/sun/javadoc/Doc.java
index 554720d69d5..f1d82d94dcf 100644
--- a/libjava/classpath/tools/com/sun/javadoc/Doc.java
+++ b/libjava/classpath/tools/com/sun/javadoc/Doc.java
@@ -1,5 +1,5 @@
/* Doc.java -- Model of an item to document.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,7 +42,7 @@ package com.sun.javadoc;
* This interface is the super-interface of all items that can have
* Javadoc comments associated with them.
*/
-public interface Doc extends java.io.Serializable, Comparable
+public interface Doc extends java.io.Serializable, Comparable<Doc>
{
/**
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
index 4369782f960..9e1fac62ead 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.doclets.AbstractDoclet
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -103,25 +103,20 @@ public abstract class AbstractDoclet
* Mapping from tag type to Taglet for user Taglets specified on
* the command line.
*/
- protected Map tagletMap = new LinkedHashMap();
+ protected Map<String,Taglet> tagletMap = new LinkedHashMap<String,Taglet>();
/**
* Stores the package groups specified in the user
* options. Contains objects of type PackageGroup.
*/
- private List packageGroups = new LinkedList();
-
- /**
- * The current classpath for loading taglet classes.
- */
- private String tagletPath;
+ private List<PackageGroup> packageGroups = new LinkedList<PackageGroup>();
/**
* Keeps track of the tags mentioned by the user during option
* processiong so that an error can be emitted if a tag is
* mentioned more than once.
*/
- private List mentionedTags = new LinkedList();
+ private List<Taglet> mentionedTags = new LinkedList<Taglet>();
public static int optionLength(String option) {
return instance.getOptionLength(option);
@@ -226,9 +221,6 @@ public abstract class AbstractDoclet
new DocletOptionFile("-d",
new File(System.getProperty("user.dir")));
- private DocletOptionFlag optionNoEmailWarn =
- new DocletOptionFlag("-noemailwarn");
-
private DocletOptionFlag optionAuthor =
new DocletOptionFlag("-author");
@@ -253,93 +245,12 @@ public abstract class AbstractDoclet
private DocletOptionColonSeparated optionExcludeDocFilesSubDir =
new DocletOptionColonSeparated("-excludedocfilessubdir");
- private DocletOptionTagletPath optionTagletPath =
- new DocletOptionTagletPath("-tagletpath");
-
private DocletOptionTag optionTaglet =
new DocletOptionTag("-taglet");
private DocletOptionTag optionTag =
new DocletOptionTag("-tag");
- private class DocletOptionTaglet
- extends DocletOption
- {
- DocletOptionTaglet(String optionName)
- {
- super(optionName);
- }
-
- public int getLength()
- {
- return 2;
- }
-
- public boolean set(String[] optionArr)
- {
-
- boolean tagletLoaded = false;
-
- String useTagletPath = AbstractDoclet.this.tagletPath;
- if (null == useTagletPath) {
- useTagletPath = System.getProperty("java.class.path");
- }
-
- try {
- Class tagletClass;
- try {
- tagletClass
- = new FileSystemClassLoader(useTagletPath).loadClass(optionArr[1]);
- }
- catch (ClassNotFoundException e) {
- // If not found on specified tagletpath, try default classloader
- tagletClass
- = Class.forName(optionArr[1]);
- }
- Method registerTagletMethod
- = tagletClass.getDeclaredMethod("register", new Class[] { java.util.Map.class });
-
- if (!registerTagletMethod.getReturnType().equals(Void.TYPE)) {
- printError("Taglet class '" + optionArr[1] + "' found, but register method doesn't return void.");
- }
- else if (registerTagletMethod.getExceptionTypes().length > 0) {
- printError("Taglet class '" + optionArr[1] + "' found, but register method contains throws clause.");
- }
- else if ((registerTagletMethod.getModifiers() & (Modifier.STATIC | Modifier.PUBLIC | Modifier.ABSTRACT)) != (Modifier.STATIC | Modifier.PUBLIC)) {
- printError("Taglet class '" + optionArr[1] + "' found, but register method isn't public static, or is abstract..");
- }
- else {
- Map tempMap = new HashMap();
- registerTagletMethod.invoke(null, new Object[] { tempMap });
- tagletLoaded = true;
- String name = (String)tempMap.keySet().iterator().next();
- Taglet taglet = (Taglet)tempMap.get(name);
- tagletMap.put(name, taglet);
- mentionedTags.add(taglet);
- }
- }
- catch (NoSuchMethodException e) {
- printError("Taglet class '" + optionArr[1] + "' found, but doesn't contain the register method.");
- }
- catch (SecurityException e) {
- printError("Taglet class '" + optionArr[1] + "' cannot be loaded: " + e.getMessage());
- }
- catch (InvocationTargetException e) {
- printError("Taglet class '" + optionArr[1] + "' found, but register method throws exception: " + e.toString());
- }
- catch (IllegalAccessException e) {
- printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
- }
- catch (IllegalArgumentException e) {
- printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
- }
- catch (ClassNotFoundException e) {
- printError("Taglet class '" + optionArr[1] + "' cannot be found.");
- }
- return tagletLoaded;
- }
- }
-
private class DocletOptionGroup
extends DocletOption
{
@@ -364,7 +275,7 @@ public abstract class AbstractDoclet
packageMatcher.addWildcard(packageWildcard);
}
- SortedSet groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
+ SortedSet<PackageDoc> groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
packageGroups.add(new PackageGroup(optionArr[1], groupPackages));
@@ -376,27 +287,6 @@ public abstract class AbstractDoclet
}
}
-
- private class DocletOptionTagletPath
- extends DocletOption
- {
- DocletOptionTagletPath(String optionName)
- {
- super(optionName);
- }
-
- public int getLength()
- {
- return 2;
- }
-
- public boolean set(String[] optionArr)
- {
- AbstractDoclet.this.tagletPath = optionArr[1];
- return true;
- }
- }
-
private class DocletOptionTag
extends DocletOption
{
@@ -528,7 +418,6 @@ public abstract class AbstractDoclet
optionGroup,
optionDocFilesSubDirs,
optionExcludeDocFilesSubDir,
- optionTagletPath,
optionTaglet,
optionTag,
};
@@ -558,12 +447,12 @@ public abstract class AbstractDoclet
nameToOptionMap.put(option.getName(), option);
}
- private Map nameToOptionMap = new HashMap();
+ private Map<String,DocletOption> nameToOptionMap = new HashMap<String,DocletOption>();
private int getOptionLength(String optionName)
{
registerOptions();
- DocletOption option = (DocletOption)nameToOptionMap.get(optionName.toLowerCase());
+ DocletOption option = nameToOptionMap.get(optionName.toLowerCase());
if (null != option) {
return option.getLength();
}
@@ -572,9 +461,9 @@ public abstract class AbstractDoclet
}
}
- protected List getKnownDirectSubclasses(ClassDoc classDoc)
+ protected List<ClassDoc> getKnownDirectSubclasses(ClassDoc classDoc)
{
- List result = new LinkedList();
+ List<ClassDoc> result = new LinkedList<ClassDoc>();
if (!"java.lang.Object".equals(classDoc.qualifiedName())) {
ClassDoc[] classes = rootDoc.classes();
for (int i=0; i<classes.length; ++i) {
@@ -587,7 +476,7 @@ public abstract class AbstractDoclet
}
protected static class IndexKey
- implements Comparable
+ implements Comparable<IndexKey>
{
private String name;
private String lowerName;
@@ -608,9 +497,9 @@ public abstract class AbstractDoclet
return lowerName.hashCode();
}
- public int compareTo(Object other)
+ public int compareTo(IndexKey ik)
{
- return lowerName.compareTo(((IndexKey)other).lowerName);
+ return lowerName.compareTo(ik.lowerName);
}
public String getName()
@@ -619,29 +508,29 @@ public abstract class AbstractDoclet
}
}
- private Map categorizedIndex;
+ private Map<Character,List<Doc>> categorizedIndex;
- protected Map getCategorizedIndex()
+ protected Map<Character,List<Doc>> getCategorizedIndex()
{
if (null == categorizedIndex) {
- categorizedIndex = new LinkedHashMap();
+ categorizedIndex = new LinkedHashMap<Character,List<Doc>>();
- Map indexMap = getIndexByName();
- LinkedList keys = new LinkedList(); //indexMap.keySet().size());
+ Map<IndexKey,Doc> indexMap = getIndexByName();
+ LinkedList<IndexKey> keys = new LinkedList<IndexKey>(); //indexMap.keySet().size());
keys.addAll(indexMap.keySet());
Collections.sort(keys);
- Iterator it = keys.iterator(); //indexMap.keySet().iterator();
+ Iterator<IndexKey> it = keys.iterator(); //indexMap.keySet().iterator();
char previousCategoryLetter = '\0';
Character keyLetter = null;
while (it.hasNext()) {
- IndexKey key = (IndexKey)it.next();
+ IndexKey key = it.next();
char firstChar = Character.toUpperCase(key.getName().charAt(0));
if (firstChar != previousCategoryLetter) {
keyLetter = new Character(firstChar);
previousCategoryLetter = firstChar;
- categorizedIndex.put(keyLetter, new LinkedList());
+ categorizedIndex.put(keyLetter, new LinkedList<Doc>());
}
- List letterList = (List)categorizedIndex.get(keyLetter);
+ List<Doc> letterList = categorizedIndex.get(keyLetter);
letterList.add(indexMap.get(key));
}
}
@@ -650,16 +539,16 @@ public abstract class AbstractDoclet
}
- private Map indexByName;
+ private Map<IndexKey,Doc> indexByName;
- protected Map getIndexByName()
+ protected Map<IndexKey,Doc> getIndexByName()
{
if (null == indexByName) {
// Create index
// Collect index
- indexByName = new HashMap(); //TreeMap();
+ indexByName = new HashMap<IndexKey,Doc>(); //TreeMap();
// Add packages to index
@@ -709,10 +598,9 @@ public abstract class AbstractDoclet
protected void printTaglets(Tag[] tags, TagletContext context, TagletPrinter output, boolean inline)
{
- for (Iterator it = tagletMap.keySet().iterator(); it.hasNext(); ) {
- String tagName = (String)it.next();
- Object o = tagletMap.get(tagName);
- Taglet taglet = (Taglet)o;
+ for (Iterator<String> it = tagletMap.keySet().iterator(); it.hasNext(); ) {
+ String tagName = it.next();
+ Taglet taglet = tagletMap.get(tagName);
Doc doc = context.getDoc();
if (inline == taglet.isInlineTag()
&& ((doc == null
@@ -724,14 +612,14 @@ public abstract class AbstractDoclet
|| (doc instanceof PackageDoc && taglet.inPackage())
|| ((doc.isClass() || doc.isInterface()) && taglet.inType()))))) {
- List tagsOfThisType = new LinkedList();
+ List<Tag> tagsOfThisType = new LinkedList<Tag>();
for (int i=0; i<tags.length; ++i) {
if (tags[i].name().substring(1).equals(tagName)) {
tagsOfThisType.add(tags[i]);
}
}
- Tag[] tagletTags = (Tag[])tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
+ Tag[] tagletTags = tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
String tagletString;
if (taglet instanceof StandardTaglet) {
@@ -778,24 +666,24 @@ public abstract class AbstractDoclet
/**
* @param usedClassToPackagesMap ClassDoc to (PackageDoc to (UsageType to (Set of Doc)))
*/
- private void addUsedBy(Map usedClassToPackagesMap,
+ private void addUsedBy(Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap,
ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage)
{
- Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass);
+ Map<PackageDoc,Map<UsageType,Set<Doc>>> packageToUsageTypeMap = usedClassToPackagesMap.get(usedClass);
if (null == packageToUsageTypeMap) {
- packageToUsageTypeMap = new HashMap();
+ packageToUsageTypeMap = new HashMap<PackageDoc,Map<UsageType,Set<Doc>>>();
usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap);
}
- Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage);
+ Map<UsageType,Set<Doc>> usageTypeToUsersMap = packageToUsageTypeMap.get(userPackage);
if (null == usageTypeToUsersMap) {
- usageTypeToUsersMap = new TreeMap();
+ usageTypeToUsersMap = new TreeMap<UsageType,Set<Doc>>();
packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap);
}
- Set userSet = (Set)usageTypeToUsersMap.get(usageType);
+ Set<Doc> userSet = usageTypeToUsersMap.get(usageType);
if (null == userSet) {
- userSet = new TreeSet(); // FIXME: we need the collator from Main here
+ userSet = new TreeSet<Doc>(); // FIXME: we need the collator from Main here
usageTypeToUsersMap.put(usageType, userSet);
}
userSet.add(user);
@@ -806,7 +694,8 @@ public abstract class AbstractDoclet
*/
private Map collectUsage() {
- Map _usedClassToPackagesMap = new HashMap();
+ Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> _usedClassToPackagesMap =
+ new HashMap<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>>();
ClassDoc[] classes = rootDoc.classes();
for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
@@ -816,9 +705,9 @@ public abstract class AbstractDoclet
// classes implementing
InterfaceRelation relation
= (InterfaceRelation)getInterfaceRelations().get(clazz);
- Iterator it = relation.implementingClasses.iterator();
+ Iterator<ClassDoc> it = relation.implementingClasses.iterator();
while (it.hasNext()) {
- ClassDoc implementor = (ClassDoc)it.next();
+ ClassDoc implementor = it.next();
addUsedBy(_usedClassToPackagesMap,
clazz, UsageType.CLASS_IMPLEMENTING, implementor, implementor.containingPackage());
}
@@ -915,18 +804,18 @@ public abstract class AbstractDoclet
return _usedClassToPackagesMap;
}
- private Map usedClassToPackagesMap = null;
+ private Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap = null;
- protected Map getUsageOfClass(ClassDoc classDoc)
+ protected Map<PackageDoc,Map<UsageType,Set<Doc>>> getUsageOfClass(ClassDoc classDoc)
{
if (null == this.usedClassToPackagesMap) {
this.usedClassToPackagesMap = collectUsage();
}
- return (Map)this.usedClassToPackagesMap.get(classDoc);
+ return this.usedClassToPackagesMap.get(classDoc);
}
protected static class UsageType
- implements Comparable
+ implements Comparable<UsageType>
{
public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from");
public static final UsageType CLASS_IMPLEMENTING = new UsageType("class-implementing");
@@ -943,9 +832,9 @@ public abstract class AbstractDoclet
this.id = id;
}
- public int compareTo(Object other)
+ public int compareTo(UsageType ut)
{
- return this.id.compareTo(((UsageType)other).id);
+ return this.id.compareTo(ut.id);
}
public String toString() {
@@ -976,7 +865,7 @@ public abstract class AbstractDoclet
return MessageFormat.format(getString(key), new Object[] { value1 });
}
- protected List getPackageGroups()
+ protected List<PackageGroup> getPackageGroups()
{
return packageGroups;
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
index 196b74c88c4..39f1103e4b5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.doclets.PackageMatcher
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -53,7 +53,7 @@ import com.sun.javadoc.PackageDoc;
*/
public class PackageMatcher
{
- private Set patterns = new HashSet();
+ private Set<Pattern> patterns = new HashSet<Pattern>();
/**
* Add a wildcard to be matched. Wildcards can contain asterisk
@@ -117,9 +117,9 @@ public class PackageMatcher
* array given will be put into the output list if it matches one
* or more of the wildcards added to this PackageMatcher before.
*/
- public SortedSet filter(PackageDoc[] packageDocs)
+ public SortedSet<PackageDoc> filter(PackageDoc[] packageDocs)
{
- SortedSet result = new TreeSet();
+ SortedSet<PackageDoc> result = new TreeSet<PackageDoc>();
for (int i=0; i<packageDocs.length; ++i) {
if (match(packageDocs[i])) {
result.add(packageDocs[i]);
@@ -134,9 +134,9 @@ public class PackageMatcher
*/
public boolean match(PackageDoc packageDoc)
{
- Iterator it = patterns.iterator();
+ Iterator<Pattern> it = patterns.iterator();
while (it.hasNext()) {
- Pattern pattern = (Pattern)it.next();
+ Pattern pattern = it.next();
Matcher matcher = pattern.matcher(packageDoc.name());
if (matcher.matches()) {
return true;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
index 5ec9806345f..99361fff7ca 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -109,12 +109,12 @@ public class HtmlDoclet
/**
* Contains ExternalDocSet.
*/
- private List externalDocSets = new LinkedList();
+ private List<ExternalDocSet> externalDocSets = new LinkedList<ExternalDocSet>();
/**
* Contains String->ExternalDocSet.
*/
- private Map packageNameToDocSet = new HashMap();
+ private Map<String,ExternalDocSet> packageNameToDocSet = new HashMap<String, ExternalDocSet>();
/**
* Cache for version string from resource /version.properties
@@ -682,7 +682,7 @@ public class HtmlDoclet
HtmlPage output = newHtmlPage(new File(packageDir, "package-summary" + filenameExtension),
pathToRoot);
- Set keywords = new LinkedHashSet();
+ Set<String> keywords = new LinkedHashSet<String>();
keywords.add(packageDoc.name() + " packages");
output.beginPage(getPageTitle(packageDoc.name()), getOutputCharset(),
@@ -725,10 +725,10 @@ public class HtmlDoclet
}
static class TreeNode
- implements Comparable
+ implements Comparable<TreeNode>
{
ClassDoc classDoc;
- SortedSet children = new TreeSet();
+ SortedSet<TreeNode> children = new TreeSet<TreeNode>();
TreeNode(ClassDoc classDoc) {
TreeNode.this.classDoc = classDoc;
@@ -739,9 +739,9 @@ public class HtmlDoclet
return classDoc.equals(((TreeNode)other).classDoc);
}
- public int compareTo(Object other)
+ public int compareTo(TreeNode other)
{
- return classDoc.compareTo(((TreeNode)other).classDoc);
+ return classDoc.compareTo(other.classDoc);
}
public int hashCode()
@@ -750,9 +750,9 @@ public class HtmlDoclet
}
}
- private TreeNode addClassTreeNode(Map treeMap, ClassDoc classDoc)
+ private TreeNode addClassTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc)
{
- TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName());
+ TreeNode node = treeMap.get(classDoc.qualifiedName());
if (null == node) {
node = new TreeNode(classDoc);
treeMap.put(classDoc.qualifiedName(), node);
@@ -766,9 +766,9 @@ public class HtmlDoclet
return node;
}
- private TreeNode addInterfaceTreeNode(Map treeMap, ClassDoc classDoc)
+ private TreeNode addInterfaceTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc)
{
- TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName());
+ TreeNode node = treeMap.get(classDoc.qualifiedName());
if (null == node) {
node = new TreeNode(classDoc);
treeMap.put(classDoc.qualifiedName(), node);
@@ -781,7 +781,7 @@ public class HtmlDoclet
}
}
else {
- TreeNode rootNode = (TreeNode)treeMap.get("<root>");
+ TreeNode rootNode = treeMap.get("<root>");
if (null == rootNode) {
rootNode = new TreeNode(null);
treeMap.put("<root>", rootNode);
@@ -849,10 +849,9 @@ public class HtmlDoclet
if (!node.children.isEmpty()) {
output.beginElement("li", "class", "level");
output.beginElement("ul");
- Iterator it = node.children.iterator();
+ Iterator<TreeNode> it = node.children.iterator();
while (it.hasNext()) {
- TreeNode child = (TreeNode)it.next();
- printPackageTreeRec(output, child, node);
+ printPackageTreeRec(output, it.next(), node);
}
output.endElement("ul");
output.endElement("li");
@@ -861,7 +860,7 @@ public class HtmlDoclet
private void printClassTree(HtmlPage output, ClassDoc[] classDocs)
{
- Map classTreeMap = new HashMap();
+ Map<String,TreeNode> classTreeMap = new HashMap<String,TreeNode>();
for (int i=0; i<classDocs.length; ++i) {
ClassDoc classDoc = classDocs[i];
@@ -870,7 +869,7 @@ public class HtmlDoclet
}
}
- TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object");
+ TreeNode root = classTreeMap.get("java.lang.Object");
if (null != root) {
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy");
output.beginDiv(CssClass.PACKAGE_TREE);
@@ -881,7 +880,7 @@ public class HtmlDoclet
private void printInterfaceTree(HtmlPage output, ClassDoc[] classDocs)
{
- Map interfaceTreeMap = new HashMap();
+ Map<String,TreeNode> interfaceTreeMap = new HashMap<String,TreeNode>();
for (int i=0; i<classDocs.length; ++i) {
ClassDoc classDoc = classDocs[i];
@@ -890,14 +889,14 @@ public class HtmlDoclet
}
}
- TreeNode interfaceRoot = (TreeNode)interfaceTreeMap.get("<root>");
+ TreeNode interfaceRoot = interfaceTreeMap.get("<root>");
if (null != interfaceRoot) {
- Iterator it = interfaceRoot.children.iterator();
+ Iterator<TreeNode> it = interfaceRoot.children.iterator();
if (it.hasNext()) {
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy");
output.beginDiv(CssClass.PACKAGE_TREE);
while (it.hasNext()) {
- TreeNode node = (TreeNode)it.next();
+ TreeNode node = it.next();
printPackageTreeRec(output, node, null);
}
output.endDiv(CssClass.PACKAGE_TREE);
@@ -947,10 +946,10 @@ public class HtmlDoclet
output.beginDiv(CssClass.FULL_TREE_PACKAGELIST);
output.div(CssClass.FULL_TREE_PACKAGELIST_HEADER, "Package Hierarchies:");
output.beginDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);
- Set allPackages = getAllPackages();
- Iterator it = allPackages.iterator();
+ Set<PackageDoc> allPackages = getAllPackages();
+ Iterator<PackageDoc> it = allPackages.iterator();
while (it.hasNext()) {
- PackageDoc packageDoc = (PackageDoc)it.next();
+ PackageDoc packageDoc = it.next();
output.beginAnchor(getPackageURL(packageDoc) + "tree" + filenameExtension);
output.print(packageDoc.name());
output.endAnchor();
@@ -975,8 +974,6 @@ public class HtmlDoclet
{
output.beginDiv(CssClass.INDEX_ENTRY);
output.beginDiv(CssClass.INDEX_ENTRY_KEY);
- String anchor = null;
- String description = null;
if (entry instanceof PackageDoc) {
output.beginAnchor(getPackageURL((PackageDoc)entry) + "package-summary" + filenameExtension);
output.print(entry.name());
@@ -1105,10 +1102,10 @@ public class HtmlDoclet
output.beginDiv(CssClass.PACKAGE_MENU_LIST);
- Set packageDocs = getAllPackages();
- Iterator it = packageDocs.iterator();
+ Set<PackageDoc> packageDocs = getAllPackages();
+ Iterator<PackageDoc> it = packageDocs.iterator();
while (it.hasNext()) {
- PackageDoc packageDoc = (PackageDoc)it.next();
+ PackageDoc packageDoc = it.next();
output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);
output.beginAnchor(getPackageURL(packageDoc) + "classes" + filenameExtension,
null,
@@ -1153,9 +1150,9 @@ public class HtmlDoclet
{
if (!classDocs.isEmpty()) {
output.div(CssClass.CLASS_MENU_SUBTITLE, header);
- Iterator it = classDocs.iterator();
+ Iterator<ClassDoc> it = classDocs.iterator();
while (it.hasNext()) {
- ClassDoc classDoc = (ClassDoc)it.next();
+ ClassDoc classDoc = it.next();
printClassMenuEntry(output, classDoc);
}
}
@@ -1166,10 +1163,10 @@ public class HtmlDoclet
output.beginDiv(CssClass.CLASS_MENU_LIST);
if (categorized) {
- Set classes = new TreeSet();
- Set interfaces = new TreeSet();
- Set exceptions = new TreeSet();
- Set errors = new TreeSet();
+ Set<ClassDoc> classes = new TreeSet<ClassDoc>();
+ Set<ClassDoc> interfaces = new TreeSet<ClassDoc>();
+ Set<ClassDoc> exceptions = new TreeSet<ClassDoc>();
+ Set<ClassDoc> errors = new TreeSet<ClassDoc>();
for (int i=0; i<classDocs.length; ++i) {
ClassDoc classDoc = classDocs[i];
@@ -1253,13 +1250,13 @@ public class HtmlDoclet
private void printSplitIndex()
throws IOException
{
- Map categorizedIndex = getCategorizedIndex();
- Iterator it = categorizedIndex.keySet().iterator();
+ Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex();
+ Iterator<Character> it = categorizedIndex.keySet().iterator();
int n = 1;
int count = categorizedIndex.size();
while (it.hasNext()) {
- Character c = (Character)it.next();
- List classList = (List)categorizedIndex.get(c);
+ Character c = it.next();
+ List<Doc> classList = categorizedIndex.get(c);
printIndexPage(n++, count, c, classList);
}
}
@@ -1270,7 +1267,7 @@ public class HtmlDoclet
printIndexPage(0, 0, null, null);
}
- private void printIndexPage(int index, int maxIndex, Character letter, List classList)
+ private void printIndexPage(int index, int maxIndex, Character letter, List<Doc> classList)
throws IOException
{
String pageName = "alphaindex";
@@ -1334,12 +1331,12 @@ public class HtmlDoclet
printIndexCategory(output, letter, classList);
}
else {
- Map categorizedIndex = getCategorizedIndex();
- Iterator categoryIt = categorizedIndex.keySet().iterator();
+ Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex();
+ Iterator<Character> categoryIt = categorizedIndex.keySet().iterator();
while (categoryIt.hasNext()) {
- letter = (Character)categoryIt.next();
- classList = (List)categorizedIndex.get(letter);
+ letter = categoryIt.next();
+ classList = categorizedIndex.get(letter);
output.anchorName(letter.toString());
printIndexCategory(output, letter, classList);
}
@@ -1420,13 +1417,13 @@ public class HtmlDoclet
output.div(CssClass.SERIALIZED_TITLE, "Serialized Form");
- Iterator it = getAllPackages().iterator();
+ Iterator<PackageDoc> it = getAllPackages().iterator();
while (it.hasNext()) {
- PackageDoc packageDoc = (PackageDoc)it.next();
+ PackageDoc packageDoc = it.next();
- List serializableClasses = new LinkedList();
+ List<ClassDoc> serializableClasses = new LinkedList<ClassDoc>();
ClassDoc[] classes = packageDoc.allClasses();
for (int i=0; i<classes.length; ++i) {
ClassDoc classDoc = classes[i];
@@ -1438,9 +1435,9 @@ public class HtmlDoclet
if (!serializableClasses.isEmpty()) {
output.div(CssClass.SERIALIZED_PACKAGE_HEADER, "Package " + packageDoc.name());
- Iterator cit = serializableClasses.iterator();
+ Iterator<ClassDoc> cit = serializableClasses.iterator();
while (cit.hasNext()) {
- ClassDoc classDoc = (ClassDoc)cit.next();
+ ClassDoc classDoc = cit.next();
output.anchorName(classDoc.qualifiedTypeName());
@@ -1500,13 +1497,13 @@ public class HtmlDoclet
output.div(CssClass.DEPRECATION_TITLE, "Deprecated API");
- List deprecatedInterfaces = new LinkedList();
- List deprecatedExceptions = new LinkedList();
- List deprecatedErrors = new LinkedList();
- List deprecatedClasses = new LinkedList();
- List deprecatedFields = new LinkedList();
- List deprecatedMethods = new LinkedList();
- List deprecatedConstructors = new LinkedList();
+ List<ClassDoc> deprecatedInterfaces = new LinkedList<ClassDoc>();
+ List<ClassDoc> deprecatedExceptions = new LinkedList<ClassDoc>();
+ List<ClassDoc> deprecatedErrors = new LinkedList<ClassDoc>();
+ List<ClassDoc> deprecatedClasses = new LinkedList<ClassDoc>();
+ List<FieldDoc> deprecatedFields = new LinkedList<FieldDoc>();
+ List<MethodDoc> deprecatedMethods = new LinkedList<MethodDoc>();
+ List<ConstructorDoc> deprecatedConstructors = new LinkedList<ConstructorDoc>();
ClassDoc[] classDocs = getRootDoc().classes();
for (int i=0; i<classDocs.length; ++i) {
@@ -2870,7 +2867,7 @@ public class HtmlDoclet
PackageDoc packageDoc = classDoc.containingPackage();
ExternalDocSet externalDocSet = null;
if (classDoc.containingPackage().name().length() > 0) {
- externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name());
+ externalDocSet = packageNameToDocSet.get(packageDoc.name());
}
StringBuffer result = new StringBuffer();
result.append(getClassDocURL(output, classDoc));
@@ -2900,14 +2897,13 @@ public class HtmlDoclet
String url = null;
if (null != asClassDoc && asClassDoc.isIncluded()) {
url = getClassDocURL(output, asClassDoc);
- }
+ }
else if (!type.isPrimitive()) {
if (type.qualifiedTypeName().length() > type.typeName().length()) {
String packageName = type.qualifiedTypeName();
packageName = packageName.substring(0, packageName.length() - type.typeName().length() - 1);
- ExternalDocSet externalDocSet
- = (ExternalDocSet)packageNameToDocSet.get(packageName);
+ ExternalDocSet externalDocSet = packageNameToDocSet.get(packageName);
if (null != externalDocSet) {
url = externalDocSet.getClassDocURL(packageName, type.typeName());
}
@@ -2950,7 +2946,7 @@ public class HtmlDoclet
private String getPackageURL(PackageDoc packageDoc)
{
if (packageDoc.name().length() > 0) {
- ExternalDocSet externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name());
+ ExternalDocSet externalDocSet = packageNameToDocSet.get(packageDoc.name());
String url;
if (null != externalDocSet) {
url = externalDocSet.getPackageDocURL(packageDoc.name());
@@ -2974,7 +2970,7 @@ public class HtmlDoclet
{
ExternalDocSet externalDocSet = null;
if (classDoc.containingPackage().name().length() > 0) {
- externalDocSet = (ExternalDocSet)packageNameToDocSet.get(classDoc.containingPackage().name());
+ externalDocSet = packageNameToDocSet.get(classDoc.containingPackage().name());
}
if (null != externalDocSet) {
return externalDocSet.getClassDocURL(classDoc.containingPackage().name(),
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
index b38c2b08379..b0e2127c89a 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.ClassDocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -103,9 +103,9 @@ public class ClassDocImpl
return filter ? filteredFields : unfilteredFields;
}
- private static Set primitiveNames;
+ private static Set<String> primitiveNames;
static {
- primitiveNames = new HashSet();
+ primitiveNames = new HashSet<String>();
primitiveNames.add("int");
primitiveNames.add("long");
primitiveNames.add("char");
@@ -116,11 +116,11 @@ public class ClassDocImpl
primitiveNames.add("boolean");
}
- private Map findClassCache = new HashMap();
+ private Map<String,ClassDoc> findClassCache = new HashMap<String,ClassDoc>();
public ClassDoc findClass(String className, String dimension)
{
- ClassDoc cached = (ClassDoc)findClassCache.get(className + dimension);
+ ClassDoc cached = findClassCache.get(className + dimension);
if (null != cached) {
return cached;
}
@@ -324,7 +324,7 @@ public class ClassDocImpl
ClassDoc[] importedClasses,
PackageDoc[] importedPackages,
char[] source, int startIndex, int endIndex,
- List importStatementList) throws ParseException, IOException {
+ List<String> importStatementList) throws ParseException, IOException {
String superclassName = "java.lang.Object";
@@ -334,7 +334,7 @@ public class ClassDocImpl
importedPackages,
null);
rc.setImportStatementList(importStatementList);
- List implementedInterfaces = new ArrayList();
+ List<String> implementedInterfaces = new ArrayList<String>();
String word="";
int item=0;
@@ -511,7 +511,7 @@ public class ClassDocImpl
ClassDoc[] interfaces=new ClassDoc[implementedInterfaces.size()];
for (int i=0; i<interfaces.length; ++i) {
- interfaces[i]=new ClassDocProxy((String)implementedInterfaces.get(i), rc);
+ interfaces[i]=new ClassDocProxy(implementedInterfaces.get(i), rc);
}
rc.setInterfaces(interfaces);
@@ -643,10 +643,10 @@ public class ClassDocImpl
}
}
- List isSerMethodList=new ArrayList();
+ List<MethodDoc> isSerMethodList = new ArrayList<MethodDoc>();
if (null != maybeSerMethodList) {
- for (Iterator it=maybeSerMethodList.iterator(); it.hasNext(); ) {
+ for (Iterator<MethodDoc> it = maybeSerMethodList.iterator(); it.hasNext(); ) {
MethodDocImpl method=(MethodDocImpl)it.next();
method.resolve();
@@ -664,7 +664,7 @@ public class ClassDocImpl
isSerMethodList.add(method);
}
}
- this.serializationMethods=(MethodDoc[])isSerMethodList.toArray(new MethodDoc[0]);
+ this.serializationMethods = isSerMethodList.toArray(new MethodDoc[isSerMethodList.size()]);
maybeSerMethodList=null;
}
}
@@ -795,10 +795,10 @@ public class ClassDocImpl
this.importedClasses=importedClasses;
}
- private static Map typeMap = new HashMap();
+ private static Map<String,Type> typeMap = new HashMap<String,Type>();
Type typeForString(String typeName) throws ParseException {
- String orgTypename=typeName;
+ //String orgTypename=typeName;
int ndx=typeName.indexOf('[');
String dim="";
if (ndx>=0) {
@@ -815,7 +815,7 @@ public class ClassDocImpl
return classDoc;
}
- Type type = (Type)typeMap.get(typeName+dim);
+ Type type = typeMap.get(typeName+dim);
if (null!=type) {
try {
if (type.dimension().equals(dim)) {
@@ -995,9 +995,9 @@ public class ClassDocImpl
return (o!=null) && (o instanceof ClassDoc) && ((ClassDoc)o).qualifiedName().equals(qualifiedName());
}
- private List maybeSerMethodList;
+ private List<MethodDoc> maybeSerMethodList;
- void setMaybeSerMethodList(List maybeSerMethodList) {
+ void setMaybeSerMethodList(List<MethodDoc> maybeSerMethodList) {
this.maybeSerMethodList=maybeSerMethodList;
}
@@ -1061,7 +1061,7 @@ public class ClassDocImpl
private Object findFieldValue(String identifier,
ClassDoc classDoc,
String fieldName,
- Set visitedFields)
+ Set<FieldDoc> visitedFields)
throws UnknownIdentifierException, IllegalExpressionException
{
while (classDoc != null) {
@@ -1097,7 +1097,7 @@ public class ClassDocImpl
throw new UnknownIdentifierException(identifier);
}
- public Object getValue(String identifier, Set visitedFields)
+ public Object getValue(String identifier, Set<FieldDoc> visitedFields)
throws UnknownIdentifierException, IllegalExpressionException
{
int ndx = identifier.lastIndexOf('.');
@@ -1124,13 +1124,13 @@ public class ClassDocImpl
}
// Compares this Object with the specified Object for order.
- public int compareTo(java.lang.Object o) {
+ public int compareTo(Doc d) {
int rc;
- if (o instanceof ClassDocImpl) {
+ if (d instanceof ClassDocImpl) {
ClassDocImpl c1 = this;
- ClassDocImpl c2 = (ClassDocImpl)o;
+ ClassDocImpl c2 = (ClassDocImpl)d;
if (null != c1.containingClass() && null == c2.containingClass()) {
rc = c1.containingClass().compareTo(c2);
@@ -1153,10 +1153,10 @@ public class ClassDocImpl
}
}
- rc = super.compareTo(o);
+ rc = super.compareTo(d);
if (0 == rc) {
return Main.getInstance().getCollator().compare(containingPackage().name(),
- ((ClassDocImpl)o).containingPackage().name());
+ c2.containingPackage().name());
}
else {
return rc;
@@ -1167,11 +1167,11 @@ public class ClassDocImpl
}
}
- private List importStatementList;
+ private List<String> importStatementList;
- public void setImportStatementList(List importStatementList)
+ public void setImportStatementList(List<String> importStatementList)
{
- this.importStatementList = new LinkedList();
+ this.importStatementList = new LinkedList<String>();
this.importStatementList.addAll(importStatementList);
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
index 253cf5ec415..aa06addf7fa 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.ClassDocProxy
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -155,13 +155,8 @@ public class ClassDocProxy implements ClassDoc, WritableType {
}
// Compares this Object with the specified Object for order.
- public int compareTo(java.lang.Object o) {
- if (o instanceof Doc) {
- return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
- }
- else {
- return 0;
- }
+ public int compareTo(Doc d) {
+ return Main.getInstance().getCollator().compare(name(), d.name());
}
public TypeVariable[] typeParameters() { return new TypeVariable[0]; }
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
index 9a81cb793f0..9b911d31003 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.ClassDocReflectedImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,7 +37,17 @@
package gnu.classpath.tools.gjdoc;
-import com.sun.javadoc.*;
+import com.sun.javadoc.Doc;
+import com.sun.javadoc.ClassDoc;
+import com.sun.javadoc.ConstructorDoc;
+import com.sun.javadoc.FieldDoc;
+import com.sun.javadoc.MethodDoc;
+import com.sun.javadoc.PackageDoc;
+import com.sun.javadoc.SeeTag;
+import com.sun.javadoc.SourcePosition;
+import com.sun.javadoc.Tag;
+import com.sun.javadoc.TypeVariable;
+
import java.util.Map;
import java.util.HashMap;
@@ -104,7 +114,7 @@ public class ClassDocReflectedImpl
public boolean definesSerializableFields() { return false; }
public FieldDoc[] fields() { return new FieldDoc[0]; }
public FieldDoc[] fields(boolean filtered) { return new FieldDoc[0]; }
- public ClassDoc findClass(java.lang.String className) { return null; }
+ public ClassDoc findClass(String className) { return null; }
public ClassDoc[] importedClasses() { return new ClassDoc[0]; }
public PackageDoc[] importedPackages() { return new PackageDoc[0]; }
public ClassDoc[] innerClasses() { return new ClassDoc[0]; }
@@ -195,13 +205,8 @@ public class ClassDocReflectedImpl
public String toString() { return "ClassDocReflectedImpl{"+qualifiedName()+"}"; }
- public int compareTo(java.lang.Object o) {
- if (o instanceof Doc) {
- return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
- }
- else {
- return 0;
- }
+ public int compareTo(Doc d) {
+ return Main.getInstance().getCollator().compare(name(), d.name());
}
public String dimension() { return dimension; }
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
index ecd8100402c..dfa1a7a3c61 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.DocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -71,8 +71,8 @@ public abstract class DocImpl implements Doc, TagContainer {
}
// Compares this Object with the specified Object for order.
- public int compareTo(java.lang.Object o) {
- return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
+ public int compareTo(Doc d) {
+ return Main.getInstance().getCollator().compare(name(), d.name());
}
// Return the first sentence of the comment as tags.
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
index d5b1b1eb018..8f2a49c99c5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.ExecutableMemberDocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -402,14 +402,14 @@ public class ExecutableMemberDocImpl extends MemberDocImpl implements Executable
}
- public int compareTo(Object other) {
+ public int compareTo(Doc d) {
int rc;
- if (other instanceof MemberDocImpl) {
- MemberDocImpl otherMember = (MemberDocImpl)other;
+ if (d instanceof MemberDocImpl) {
+ MemberDocImpl otherMember = (MemberDocImpl)d;
rc = name().compareTo(otherMember.name());
if (0 == rc) {
- if (other instanceof ExecutableMemberDocImpl) {
- rc = signature().compareTo(((ExecutableMemberDocImpl)other).signature());
+ if (d instanceof ExecutableMemberDocImpl) {
+ rc = signature().compareTo(((ExecutableMemberDocImpl)d).signature());
if (0 == rc) {
return containingClass().compareTo(otherMember.containingClass());
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
index f99024daa70..4fa8e5d6bf1 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.FieldDocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -95,11 +95,11 @@ public class FieldDocImpl
}
}
- public static Collection createFromSource(ClassDoc containingClass,
- PackageDoc containingPackage,
- char[] source, int startIndex, int endIndex) {
+ public static Collection<FieldDoc> createFromSource(ClassDoc containingClass,
+ PackageDoc containingPackage,
+ char[] source, int startIndex, int endIndex) {
- List rcList=new ArrayList();
+ List<FieldDoc> rcList=new ArrayList<FieldDoc>();
FieldDocImpl fd=new FieldDocImpl(containingClass,
containingPackage,
@@ -120,7 +120,6 @@ public class FieldDocImpl
final int STATE_COMMENT = 7;
final int STATE_LINECOMMENT = 8;
- int lastFieldDefStart = ndx;
int state = STATE_FIELDNAME;
int prevState = state;
@@ -298,7 +297,7 @@ public class FieldDocImpl
return constantValue(new HashSet());
}
- public Object constantValue(Set visitedFields) {
+ public Object constantValue(Set<FieldDoc> visitedFields) {
if (!isStatic()
|| !isFinal()
|| (!type().isPrimitive() && !"java.lang.String".equals(type().qualifiedTypeName()))
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
index ce9e96d820b..f2315a920aa 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.Main
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -142,11 +142,6 @@ public final class Main
private String option_doclet = "gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet";
/**
- * Option "-overview": path to the special overview file.
- */
- private String option_overview;
-
- /**
* Option "-coverage": which members to include in generated documentation.
*/
private int option_coverage = COVERAGE_PROTECTED;
@@ -162,30 +157,10 @@ public final class Main
private String option_docletpath;
/**
- * Option "-classpath": path to additional classes.
- */
- private String option_classpath;
-
- /**
* Option "-sourcepath": path to the Java source files to be documented.
* FIXME: this should be a list of paths
*/
- private List option_sourcepath = new ArrayList();
-
- /**
- * Option "-extdirs": path to Java extension files.
- */
- private String option_extdirs;
-
- /**
- * Option "-verbose": Be verbose when generating documentation.
- */
- private boolean option_verbose;
-
- /**
- * Option "-nowarn": Do not print warnings.
- */
- private boolean option_nowarn;
+ private List<File> option_sourcepath = new ArrayList<File>();
/**
* Option "-locale:" Specify the locale charset of Java source files.
@@ -198,11 +173,6 @@ public final class Main
private String option_encoding;
/**
- * Option "-J": Specify flags to be passed to Java runtime.
- */
- private List option_java_flags = new LinkedList(); //ArrayList();
-
- /**
* Option "-source:" should be 1.4 to handle assertions, 1.1 is no
* longer supported.
*/
@@ -212,12 +182,12 @@ public final class Main
* Option "-subpackages": list of subpackages to be recursively
* added.
*/
- private List option_subpackages = new ArrayList();
+ private List<String> option_subpackages = new ArrayList<String>();
/**
* Option "-exclude": list of subpackages to exclude.
*/
- private List option_exclude = new ArrayList();
+ private List<String> option_exclude = new ArrayList<String>();
/**
* Option "-breakiterator" - whether to use BreakIterator for
@@ -263,7 +233,7 @@ public final class Main
*
* @param allOptions List of all command line tokens
*/
- private boolean startDoclet(List allOptions)
+ private boolean startDoclet(List<String> allOptions)
{
try
@@ -273,7 +243,7 @@ public final class Main
Debug.log(1, "loading doclet class...");
- Class docletClass;
+ Class<?> docletClass;
if (null != option_docletpath) {
try {
@@ -341,14 +311,14 @@ public final class Main
//--- Feed the custom command line tokens to the Doclet
// stores all recognized options
- List options = new LinkedList();
+ List<String[]> options = new LinkedList<String[]>();
// stores packages and classes defined on the command line
- List packageAndClasses = new LinkedList();
+ List<String> packageAndClasses = new LinkedList<String>();
- for (Iterator it = allOptions.iterator(); it.hasNext();)
+ for (Iterator<String> it = allOptions.iterator(); it.hasNext();)
{
- String option = (String) it.next();
+ String option = it.next();
Debug.log(9, "parsing option '" + option + "'");
@@ -448,13 +418,13 @@ public final class Main
// check that it exists and find out whether it is a class
// or a package
- for (Iterator it = option_subpackages.iterator(); it.hasNext();)
+ for (Iterator<String> it = option_subpackages.iterator(); it.hasNext();)
{
- String subpackage = (String) it.next();
- Set foundPackages = new LinkedHashSet();
+ String subpackage = it.next();
+ Set<String> foundPackages = new LinkedHashSet<String>();
- for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) {
- File sourceDir = (File)pit.next();
+ for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) {
+ File sourceDir = pit.next();
File packageDir = new File(sourceDir, subpackage.replace('.', File.separatorChar));
findPackages(subpackage, packageDir, foundPackages);
}
@@ -463,14 +433,14 @@ public final class Main
}
if (option_all) {
- Set foundPackages = new LinkedHashSet();
- for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) {
- File sourceDir = (File)pit.next();
+ Set<String> foundPackages = new LinkedHashSet<String>();
+ for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) {
+ File sourceDir = pit.next();
findPackages("", sourceDir, foundPackages);
}
addFoundPackages(null, foundPackages);
- for (Iterator packageIt = foundPackages.iterator(); packageIt.hasNext(); ) {
- String packageName = (String)packageIt.next();
+ for (Iterator<String> packageIt = foundPackages.iterator(); packageIt.hasNext(); ) {
+ String packageName = packageIt.next();
if (null == packageName) {
packageName = "";
}
@@ -478,16 +448,16 @@ public final class Main
}
}
- for (Iterator it = packageAndClasses.iterator(); it.hasNext();)
+ for (Iterator<String> it = packageAndClasses.iterator(); it.hasNext();)
{
- String classOrPackage = (String) it.next();
+ String classOrPackage = it.next();
boolean foundSourceFile = false;
if (classOrPackage.endsWith(".java")) {
- for (Iterator pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) {
- File sourceDir = (File)pit.next();
+ for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) {
+ File sourceDir = pit.next();
File sourceFile = new File(sourceDir, classOrPackage);
if (sourceFile.exists() && !sourceFile.isDirectory()) {
rootDoc.addSpecifiedSourceFile(sourceFile);
@@ -525,8 +495,8 @@ public final class Main
//--- Create one file object each for a possible package directory
// and a possible class file, and find out if they exist.
- List packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath);
- List sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java");
+ List<File> packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath);
+ List<File> sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java");
boolean packageDirExists = !packageDirs.isEmpty();
boolean sourceFileExists = !sourceFiles.isEmpty();
@@ -554,10 +524,10 @@ public final class Main
else
if (packageDirExists) {
- Iterator packageDirIt = packageDirs.iterator();
+ Iterator<File> packageDirIt = packageDirs.iterator();
boolean packageDirFound = false;
while (packageDirIt.hasNext()) {
- File packageDir = (File)packageDirIt.next();
+ File packageDir = packageDirIt.next();
if (packageDir.isDirectory()) {
rootDoc.addSpecifiedPackageName(classOrPackage);
packageDirFound = true;
@@ -671,19 +641,19 @@ public final class Main
}
}
- private void addFoundPackages(String subpackage, Set foundPackages)
+ private void addFoundPackages(String subpackage, Set<String> foundPackages)
{
if (foundPackages.isEmpty()) {
reporter.printWarning("No classes found under subpackage " + subpackage);
}
else {
boolean onePackageAdded = false;
- for (Iterator rit = foundPackages.iterator(); rit.hasNext();) {
- String foundPackage = (String)rit.next();
+ for (Iterator<String> rit = foundPackages.iterator(); rit.hasNext();) {
+ String foundPackage = rit.next();
boolean excludeThisPackage = false;
- for (Iterator eit = option_exclude.iterator(); eit.hasNext();) {
- String excludePackage = (String)eit.next();
+ for (Iterator<String> eit = option_exclude.iterator(); eit.hasNext();) {
+ String excludePackage = eit.next();
if (foundPackage.equals(excludePackage) ||
foundPackage.startsWith(excludePackage + ":")) {
excludeThisPackage = true;
@@ -817,7 +787,7 @@ public final class Main
*/
private void findPackages(String subpackage,
File packageDir,
- Set result)
+ Set<String> result)
{
File[] files = packageDir.listFiles();
if (null != files) {
@@ -1026,7 +996,7 @@ public final class Main
//--- Collect unparsed arguments in array and resolve references
// to external argument files.
- List arguments = new ArrayList(args.length);
+ List<String> arguments = new ArrayList<String>(args.length);
for (int i = 0; i < args.length; ++i)
{
@@ -1062,7 +1032,7 @@ public final class Main
// Contains objects of type String[], where each entry
// specifies an option along with its aguments.
- List options = new LinkedList();
+ List<String[]> options = new LinkedList<String[]>();
//--- This will hold all command line tokens not recognized
// to be part of a standard option.
@@ -1070,17 +1040,17 @@ public final class Main
// Contains objects of type String, where each entry is
// one unrecognized token.
- List customOptions = new LinkedList();
+ List<String> customOptions = new LinkedList<String>();
rootDoc = new RootDocImpl();
reporter = rootDoc.getReporter();
//--- Iterate over all options given on the command line
- for (Iterator it = arguments.iterator(); it.hasNext();)
+ for (Iterator<String> it = arguments.iterator(); it.hasNext();)
{
- String arg = (String) it.next();
+ String arg = it.next();
//--- Check if gjdoc recognizes this option as a standard option
// and remember the options' argument count
@@ -1129,8 +1099,7 @@ public final class Main
//--- Create an array of String arrays from the dynamic array built above
- String[][] optionArr = (String[][]) options.toArray(new String[options
- .size()][0]);
+ String[][] optionArr = options.toArray(new String[options.size()][0]);
//--- Validate all options and issue warnings/errors
@@ -1181,6 +1150,7 @@ public final class Main
return reporter.getErrorCount();
}
+ /*
private void addJavaLangClasses()
throws IOException
{
@@ -1201,6 +1171,7 @@ public final class Main
}
}
}
+ */
/**
* Helper class for parsing command line arguments. An instance of this class
@@ -1241,7 +1212,7 @@ public final class Main
* Initialized only once by method initOptions(). FIXME: Rename to
* 'optionProcessors'.
*/
- private static Map options = null;
+ private static Map<String,OptionProcessor> options = null;
/**
* Initialize all OptionProcessor objects needed to scan/parse command line
@@ -1251,7 +1222,7 @@ public final class Main
private void initOptions()
{
- options = new HashMap();
+ options = new HashMap<String,OptionProcessor>();
//--- Put one OptionProcessor object into the map
// for each option recognized.
@@ -1261,7 +1232,7 @@ public final class Main
void process(String[] args)
{
- option_overview = args[0];
+ System.err.println("WARNING: Unsupported option -overview ignored");
}
});
options.put("-public", new OptionProcessor(1)
@@ -1328,7 +1299,7 @@ public final class Main
void process(String[] args)
{
- option_nowarn = true;
+ System.err.println("WARNING: Unsupported option -nowarn ignored");
}
});
options.put("-source", new OptionProcessor(2)
@@ -1412,7 +1383,6 @@ public final class Main
void process(String[] args)
{
- option_verbose = true;
System.err.println("WARNING: Unsupported option -verbose ignored");
}
});
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
index acc8128630c..87ed585fe01 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.MemberDocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -170,15 +170,15 @@ public abstract class MemberDocImpl extends ProgramElementDocImpl implements Mem
return Main.getInstance().includeAccessLevel(accessLevel);
}
- public int compareTo(Object o) {
- if (o instanceof MemberDocImpl) {
- int rc=name().compareTo(((MemberDocImpl)o).name());
+ public int compareTo(Doc d) {
+ if (d instanceof MemberDocImpl) {
+ int rc=name().compareTo(((MemberDocImpl)d).name());
if (rc==0)
- rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)o).containingClass().qualifiedName());
+ rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)d).containingClass().qualifiedName());
return rc;
}
else {
- return super.compareTo(o);
+ return super.compareTo(d);
}
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
index 84960bcf349..770a6275655 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.PackageDocImpl
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,11 +46,11 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
private String packageName;
private File packageDirectory;
- private Set allClassesSet = new TreeSet();
- private List ordinaryClassesList = new ArrayList();
- private List exceptionsList = new ArrayList();
- private List interfacesList = new ArrayList();
- private List errorsList = new ArrayList();
+ private Set<ClassDoc> allClassesSet = new TreeSet<ClassDoc>();
+ private List<ClassDoc> ordinaryClassesList = new ArrayList<ClassDoc>();
+ private List<ClassDoc> exceptionsList = new ArrayList<ClassDoc>();
+ private List<ClassDoc> interfacesList = new ArrayList<ClassDoc>();
+ private List<ClassDoc> errorsList = new ArrayList<ClassDoc>();
private ClassDoc[] allClasses;
private ClassDoc[] ordinaryClasses;
@@ -70,8 +70,8 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
}
public void resolve() {
- for (Iterator it=allClassesSet.iterator(); it.hasNext(); ) {
- ClassDocImpl classDoc=(ClassDocImpl)it.next();
+ for (Iterator<ClassDoc> it = allClassesSet.iterator(); it.hasNext(); ) {
+ ClassDocImpl classDoc = (ClassDocImpl) it.next();
try {
classDoc.resolve();
} catch (ParseException e) {
@@ -153,9 +153,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
return this.errors;
}
- private ClassDoc[] toClassDocArray(Collection classDocList)
+ private ClassDoc[] toClassDocArray(Collection<ClassDoc> classDocList)
{
- ClassDoc[] result = (ClassDoc[])classDocList.toArray(new ClassDoc[classDocList.size()]);
+ ClassDoc[] result = classDocList.toArray(new ClassDoc[classDocList.size()]);
Arrays.sort(result);
return result;
}
@@ -193,9 +193,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
return packageName;
}
- public int compareTo(Object o) {
- if (o!=null && o instanceof PackageDocImpl)
- return name().compareTo(((PackageDocImpl)o).name());
+ public int compareTo(Doc d) {
+ if (d !=null && d instanceof PackageDocImpl)
+ return name().compareTo(((PackageDocImpl)d).name());
else
return 0;
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
index d355b5384cc..af6b6b432a2 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.Parser
- Copyright (C) 2001, 2005, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2008, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,21 +37,38 @@
package gnu.classpath.tools.gjdoc;
-import java.io.*;
+import com.sun.javadoc.ClassDoc;
+import com.sun.javadoc.ConstructorDoc;
+import com.sun.javadoc.FieldDoc;
+import com.sun.javadoc.MethodDoc;
+import com.sun.javadoc.PackageDoc;
+
+import gnu.classpath.tools.IOToolkit;
+import gnu.classpath.tools.NotifyingInputStreamReader;
+import gnu.classpath.tools.MalformedInputListener;
+import gnu.classpath.tools.MalformedInputEvent;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.Reader;
+
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CoderResult;
import java.nio.charset.CodingErrorAction;
-import java.util.*;
-import com.sun.javadoc.*;
-
-import gnu.classpath.tools.IOToolkit;
-import gnu.classpath.tools.NotifyingInputStreamReader;
-import gnu.classpath.tools.MalformedInputListener;
-import gnu.classpath.tools.MalformedInputEvent;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.Stack;
class IgnoredFileParseException extends ParseException
{
@@ -356,11 +373,11 @@ import gnu.classpath.tools.MalformedInputEvent;
if (endIndex-startIndex<=1) return endIndex;
//assert (parser.ctx!=null);
- Collection fields=FieldDocImpl.createFromSource(parser.ctx.classDoc,
- parser.ctx.classDoc.containingPackage(),
- source, startIndex, endIndex);
+ Collection<FieldDoc> fields = FieldDocImpl.createFromSource(parser.ctx.classDoc,
+ parser.ctx.classDoc.containingPackage(),
+ source, startIndex, endIndex);
- for (Iterator it=fields.iterator(); it.hasNext(); ) {
+ for (Iterator<FieldDoc> it=fields.iterator(); it.hasNext(); ) {
FieldDocImpl field=(FieldDocImpl)it.next();
boolean fieldHasSerialTag=!field.isTransient() && !field.isStatic(); //field.hasSerialTag();
if ((field.isIncluded() || fieldHasSerialTag) && parser.getAddComments()) {
@@ -408,27 +425,26 @@ import gnu.classpath.tools.MalformedInputEvent;
parser.setLastComment(null);
if (execDoc.isMethod()) {
- parser.ctx.methodList.add(execDoc);
- if (execDoc.isIncluded()) {
- parser.ctx.filteredMethodList.add(execDoc);
+ MethodDoc methDoc = (MethodDoc) execDoc;
+ parser.ctx.methodList.add(methDoc);
+ if (methDoc.isIncluded()) {
+ parser.ctx.filteredMethodList.add(methDoc);
}
- }
- else {
- parser.ctx.constructorList.add(execDoc);
- if (execDoc.isIncluded()) {
- parser.ctx.filteredConstructorList.add(execDoc);
- }
- }
-
- if (execDoc.isMethod()
- && (execDoc.name().equals("readObject")
- || execDoc.name().equals("writeObject")
- || execDoc.name().equals("readExternal")
- || execDoc.name().equals("writeExternal")
- || execDoc.name().equals("readResolve"))) {
+ if (methDoc.name().equals("readObject")
+ || methDoc.name().equals("writeObject")
+ || methDoc.name().equals("readExternal")
+ || methDoc.name().equals("writeExternal")
+ || methDoc.name().equals("readResolve")) {
// FIXME: add readExternal here?
- parser.ctx.maybeSerMethodList.add(execDoc);
+ parser.ctx.maybeSerMethodList.add(methDoc);
+ }
+ } else {
+ ConstructorDoc constDoc = (ConstructorDoc) execDoc;
+ parser.ctx.constructorList.add(constDoc);
+ if (constDoc.isIncluded()) {
+ parser.ctx.filteredConstructorList.add(constDoc);
+ }
}
return endIndex;
@@ -764,7 +780,7 @@ public class Parser {
return processedFiles.size();
}
- static Set processedFiles = new HashSet();
+ static Set<File> processedFiles = new HashSet<File>();
ClassDocImpl processSourceFile(File file, boolean addComments,
String encoding, String expectedPackageName)
@@ -803,8 +819,8 @@ public class Parser {
try {
parse(source, 0, sourceLevelComponents);
- ClassDoc[] importedClasses=(ClassDoc[])importedClassesList.toArray(new ClassDoc[0]);
- PackageDoc[] importedPackages=(PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]);
+ ClassDoc[] importedClasses = importedClassesList.toArray(new ClassDoc[importedClassesList.size()]);
+ PackageDoc[] importedPackages = importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]);
if (Main.DESCEND_IMPORTED) {
for (int i=0; i<importedClasses.length; ++i) {
@@ -909,7 +925,7 @@ public class Parser {
ClassDocImpl classDoc
= ClassDocImpl.createInstance((ctx!=null)?(ctx.classDoc):null, currentPackage,
null,
- (PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]),
+ importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]),
source, startIndex, endIndex,
importedStatementList);
@@ -921,11 +937,11 @@ public class Parser {
}
if (importedClassesList.isEmpty()) {
- for (Iterator it=importedStringList.iterator(); it.hasNext(); ) {
- importedClassesList.add(new ClassDocProxy((String)it.next(), classDoc));
+ for (Iterator<String> it=importedStringList.iterator(); it.hasNext(); ) {
+ importedClassesList.add(new ClassDocProxy(it.next(), classDoc));
}
}
- classDoc.setImportedClasses((ClassDoc[])importedClassesList.toArray(new ClassDoc[0]));
+ classDoc.setImportedClasses(importedClassesList.toArray(new ClassDoc[importedClassesList.size()]));
currentPackage.addClass(classDoc);
@@ -945,26 +961,24 @@ public class Parser {
//Debug.log(9,"ctx="+ctx);
}
- private Doc[] toArray(List list, Doc[] template)
+ private <T> T[] toArray(List<T> list, T[] template)
{
- Doc[] result = (Doc[])list.toArray(template);
- return result;
+ return list.toArray(template);
}
void classClosed() throws ParseException, IOException {
- ctx.classDoc.setFields((FieldDoc[])toArray(ctx.fieldList,
- new FieldDoc[0]));
- ctx.classDoc.setFilteredFields((FieldDoc[])toArray(ctx.filteredFieldList,
- new FieldDoc[0]));
- ctx.classDoc.setSerializableFields((FieldDoc[])toArray(ctx.sfieldList, new FieldDoc[0]));
- ctx.classDoc.setMethods((MethodDoc[])toArray(ctx.methodList, new MethodDoc[0]));
- ctx.classDoc.setFilteredMethods((MethodDoc[])toArray(ctx.filteredMethodList, new MethodDoc[0]));
+ ctx.classDoc.setFields(toArray(ctx.fieldList,new FieldDoc[ctx.fieldList.size()]));
+ ctx.classDoc.setFilteredFields(toArray(ctx.filteredFieldList,new FieldDoc[ctx.filteredFieldList.size()]));
+ ctx.classDoc.setSerializableFields(toArray(ctx.sfieldList, new FieldDoc[ctx.sfieldList.size()]));
+ ctx.classDoc.setMethods(toArray(ctx.methodList, new MethodDoc[ctx.methodList.size()]));
+ ctx.classDoc.setFilteredMethods(toArray(ctx.filteredMethodList, new MethodDoc[ctx.filteredMethodList.size()]));
ctx.classDoc.setMaybeSerMethodList(ctx.maybeSerMethodList);
- ctx.classDoc.setConstructors((ConstructorDoc[])toArray(ctx.constructorList, new ConstructorDoc[0]));
- ctx.classDoc.setFilteredConstructors((ConstructorDoc[])toArray(ctx.filteredConstructorList, new ConstructorDoc[0]));
-
- ctx.classDoc.setInnerClasses((ClassDocImpl[])toArray(ctx.innerClassesList, new ClassDocImpl[0]));
- ctx.classDoc.setFilteredInnerClasses((ClassDocImpl[])toArray(ctx.filteredInnerClassesList, new ClassDocImpl[0]));
+ ctx.classDoc.setConstructors(toArray(ctx.constructorList, new ConstructorDoc[ctx.constructorList.size()]));
+ ctx.classDoc.setFilteredConstructors(toArray(ctx.filteredConstructorList,
+ new ConstructorDoc[ctx.filteredConstructorList.size()]));
+ ctx.classDoc.setInnerClasses(toArray(ctx.innerClassesList, new ClassDocImpl[ctx.innerClassesList.size()]));
+ ctx.classDoc.setFilteredInnerClasses(toArray(ctx.filteredInnerClassesList,
+ new ClassDocImpl[ctx.filteredInnerClassesList.size()]));
ctx.classDoc.setBoilerplateComment(boilerplateComment);
Main.getRootDoc().addClassDoc(ctx.classDoc);
@@ -993,16 +1007,16 @@ public class Parser {
class Context {
Context(ClassDocImpl classDoc) { this.classDoc=classDoc; }
ClassDocImpl classDoc = null;
- List fieldList = new LinkedList();
- List filteredFieldList = new LinkedList();
- List sfieldList = new LinkedList();
- List methodList = new LinkedList();
- List filteredMethodList = new LinkedList();
- List maybeSerMethodList = new LinkedList();
- List constructorList = new LinkedList();
- List filteredConstructorList = new LinkedList();
- List innerClassesList = new LinkedList();
- List filteredInnerClassesList = new LinkedList();
+ List<FieldDoc> fieldList = new LinkedList<FieldDoc>();
+ List<FieldDoc> filteredFieldList = new LinkedList<FieldDoc>();
+ List<FieldDoc> sfieldList = new LinkedList<FieldDoc>();
+ List<MethodDoc> methodList = new LinkedList<MethodDoc>();
+ List<MethodDoc> filteredMethodList = new LinkedList<MethodDoc>();
+ List<MethodDoc> maybeSerMethodList = new LinkedList<MethodDoc>();
+ List<ConstructorDoc> constructorList = new LinkedList<ConstructorDoc>();
+ List<ConstructorDoc> filteredConstructorList = new LinkedList<ConstructorDoc>();
+ List<ClassDocImpl> innerClassesList = new LinkedList<ClassDocImpl>();
+ List<ClassDocImpl> filteredInnerClassesList = new LinkedList<ClassDocImpl>();
}
File currentFile = null;
@@ -1016,10 +1030,10 @@ public class Parser {
List allClassesList = new LinkedList();
List interfacesList = new LinkedList();
- List importedClassesList = new LinkedList();
- List importedStringList = new LinkedList();
- List importedPackagesList = new LinkedList();
- List importedStatementList = new LinkedList();
+ List<ClassDoc> importedClassesList = new LinkedList<ClassDoc>();
+ List<String> importedStringList = new LinkedList<String>();
+ List<PackageDoc> importedPackagesList = new LinkedList<PackageDoc>();
+ List<String> importedStatementList = new LinkedList<String>();
List referencedClassesList = new LinkedList();
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
index 09d1be73b9e..dd76ffada96 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.RootDocImpl
- Copyright (C) 2001, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2007, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -409,11 +409,11 @@ public class RootDocImpl
}
}
- List findSourceFiles(String relPath) {
+ List<File> findSourceFiles(String relPath) {
- List result = new LinkedList();
- for (Iterator it = sourcePath.iterator(); it.hasNext(); ) {
- File path = (File)it.next();
+ List<File> result = new LinkedList<File>();
+ for (Iterator<File> it = sourcePath.iterator(); it.hasNext(); ) {
+ File path = it.next();
File file = new File(path, relPath);
if (file.exists()) {
result.add(file);
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
index d12da3519b1..efa88603c66 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.expr.Evaluator
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,6 +37,8 @@ exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
+import com.sun.javadoc.FieldDoc;
+
import java.io.StringReader;
import java.math.BigInteger;
import antlr.RecognitionException;
@@ -68,7 +70,7 @@ public class Evaluator
* array access) or references unknown static fields.
*/
public static Object evaluate(String expression,
- Set visitedFields,
+ Set<FieldDoc> visitedFields,
EvaluatorEnvironment environment)
throws IllegalExpressionException
{
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
index cf4df8938b4..cdb1f90488d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.expr.EvaluatorEnvironment
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,10 +37,12 @@ exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
+import com.sun.javadoc.FieldDoc;
+
import java.util.Set;
public interface EvaluatorEnvironment
{
- public Object getValue(String identifier, Set visitedFields)
+ public Object getValue(String identifier, Set<FieldDoc> visitedFields)
throws IllegalExpressionException, UnknownIdentifierException;
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
index 92382c41a70..4e0ef0ea4d9 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
@@ -1,5 +1,5 @@
/* gnu.classpath.tools.gjdoc.expr.Type
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -51,9 +51,9 @@ class Type
public static final Type STRING = new Type(String.class);
public static final Type NULL = new Type(null);
- private Class clazz;
+ private Class<?> clazz;
- private Type(Class clazz)
+ private Type(Class<?> clazz)
{
this.clazz = clazz;
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
index 9ac103c75a1..790407bae18 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
@@ -1,5 +1,5 @@
/* ClassRmicCompiler.java --
- Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
+ Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2012
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -76,26 +76,23 @@ public class ClassRmicCompiler
{
private String[] args;
private int next;
- private List errors = new ArrayList();
- private boolean keep = false;
+ private List<Exception> errors = new ArrayList<Exception>();
private boolean need11Stubs = true;
private boolean need12Stubs = true;
- private boolean compile = true;
private boolean verbose;
private boolean noWrite;
private String destination;
- private String classpath;
private ClassLoader loader;
private int errorCount = 0;
- private Class clazz;
+ private Class<?> clazz;
private String classname;
private String classInternalName;
private String fullclassname;
private MethodRef[] remotemethods;
private String stubname;
private String skelname;
- private List mRemoteInterfaces;
+ private List<Class<?>> mRemoteInterfaces;
/**
* @return true if run was successful
@@ -126,9 +123,9 @@ public class ClassRmicCompiler
}
if (errors.size() > 0)
{
- for (Iterator it = errors.iterator(); it.hasNext(); )
+ for (Iterator<Exception> it = errors.iterator(); it.hasNext(); )
{
- Exception ex = (Exception) it.next();
+ Exception ex = it.next();
logError(ex);
}
}
@@ -146,7 +143,7 @@ public class ClassRmicCompiler
remotemethods = null;
stubname = null;
skelname = null;
- mRemoteInterfaces = new ArrayList();
+ mRemoteInterfaces = new ArrayList<Class<?>>();
analyzeClass(cls);
generateStub();
@@ -175,7 +172,7 @@ public class ClassRmicCompiler
*/
public Exception getException()
{
- return errors.size() == 0 ? null : (Exception) errors.get(0);
+ return errors.size() == 0 ? null : errors.get(0);
}
private void findClass()
@@ -202,7 +199,7 @@ public class ClassRmicCompiler
}
}
- private static Type[] typeArray(Class[] cls)
+ private static Type[] typeArray(Class<?>[] cls)
{
Type[] t = new Type[cls.length];
for (int i = 0; i < cls.length; i++)
@@ -231,11 +228,11 @@ public class ClassRmicCompiler
private static final String forName = "class$";
- private static Object param(Method m, int argIndex)
+ private static List<Object> param(Method m, int argIndex)
{
- List l = new ArrayList();
+ List<Object> l = new ArrayList<Object>();
l.add(m);
- l.add(new Integer(argIndex));
+ l.add(Integer.valueOf(argIndex));
return l;
}
@@ -283,10 +280,10 @@ public class ClassRmicCompiler
cv.visitMaxs(-1, -1);
}
- private void generateClassConstant(MethodVisitor cv, Class cls) {
+ private void generateClassConstant(MethodVisitor cv, Class<?> cls) {
if (cls.isPrimitive())
{
- Class boxCls;
+ Class<?> boxCls;
if (cls.equals(Boolean.TYPE))
boxCls = Boolean.class;
else if (cls.equals(Character.TYPE))
@@ -321,7 +318,7 @@ public class ClassRmicCompiler
new Type[] { Type.getType(String.class) }));
}
- private void generateClassArray(MethodVisitor code, Class[] classes)
+ private void generateClassArray(MethodVisitor code, Class<?>[] classes)
{
code.visitLdcInsn(new Integer(classes.length));
code.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Class.class));
@@ -352,7 +349,7 @@ public class ClassRmicCompiler
desc.append(m.getName() + "(");
// signature
- Class[] sig = m.getParameterTypes();
+ Class<?>[] sig = m.getParameterTypes();
for (int j = 0; j < sig.length; j++)
{
desc.append(getPrettyName(sig[j]));
@@ -418,7 +415,6 @@ public class ClassRmicCompiler
throws IOException
{
stubname = fullclassname + "_Stub";
- String stubclassname = classname + "_Stub";
File file = new File((destination == null ? "." : destination)
+ File.separator
+ stubname.replace('.', File.separatorChar)
@@ -433,7 +429,7 @@ public class ClassRmicCompiler
Type.getType(RemoteStub.class).getInternalName();
String[] remoteInternalNames =
- internalNameArray((Class[]) mRemoteInterfaces.toArray(new Class[] {}));
+ internalNameArray(mRemoteInterfaces.toArray(new Class[mRemoteInterfaces.size()]));
stub.visit
(Opcodes.V1_2, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL, classInternalName,
null, superInternalName, remoteInternalNames);
@@ -601,10 +597,10 @@ public class ClassRmicCompiler
for (int i = 0; i < remotemethods.length; i++)
{
Method m = remotemethods[i].meth;
- Class[] sig = m.getParameterTypes();
- Class returntype = m.getReturnType();
- Class[] except = sortExceptions
- ((Class[]) remotemethods[i].exceptions.toArray(new Class[0]));
+ Class<?>[] sig = m.getParameterTypes();
+ Class<?> returntype = m.getReturnType();
+ Class<?>[] except = sortExceptions
+ (remotemethods[i].exceptions.toArray(new Class<?>[remotemethods[i].exceptions.size()]));
MethodVisitor code = stub.visitMethod
(Opcodes.ACC_PUBLIC,
@@ -664,9 +660,8 @@ public class ClassRmicCompiler
for (int j = 0; j < sig.length; j++)
{
- int size = size(sig[j]);
int insn = loadOpcode(sig[j]);
- Class box = sig[j].isPrimitive() ? box(sig[j]) : null;
+ Class<?> box = sig[j].isPrimitive() ? box(sig[j]) : null;
code.visitVarInsn(Opcodes.ALOAD, var.get("argArray"));
code.visitLdcInsn(new Integer(j));
@@ -695,7 +690,7 @@ public class ClassRmicCompiler
}
// push remote operation opcode
- code.visitLdcInsn(new Long(remotemethods[i].hash));
+ code.visitLdcInsn(Long.valueOf(remotemethods[i].hash));
code.visitMethodInsn
(Opcodes.INVOKEINTERFACE,
Type.getInternalName(RemoteRef.class),
@@ -710,7 +705,7 @@ public class ClassRmicCompiler
if (! returntype.equals(Void.TYPE))
{
int retcode = returnOpcode(returntype);
- Class boxCls =
+ Class<?> boxCls =
returntype.isPrimitive() ? box(returntype) : null;
code.visitTypeInsn
(Opcodes.CHECKCAST, typeArg(boxCls == null ? returntype : boxCls));
@@ -797,7 +792,7 @@ public class ClassRmicCompiler
// get j'th arg to remote method
code.visitVarInsn(loadOpcode(sig[j]), var.get(param(m, j)));
- Class argCls =
+ Class<?> argCls =
sig[j].isPrimitive() ? sig[j] : Object.class;
// out.writeFoo
@@ -872,7 +867,7 @@ public class ClassRmicCompiler
Type.getMethodDescriptor
(Type.getType(ObjectInput.class), new Type[] {}));
- Class readCls =
+ Class<?> readCls =
returntype.isPrimitive() ? returntype : Object.class;
code.visitMethodInsn
(Opcodes.INVOKEINTERFACE,
@@ -936,8 +931,6 @@ public class ClassRmicCompiler
Type.getType(Exception.class) }));
code.visitInsn(Opcodes.ATHROW);
- Label endReturnTryCatch = new Label();
-
// catch IOException
code.visitTryCatchBlock
(beginReturnTryCatch, handler, handler,
@@ -1024,7 +1017,6 @@ public class ClassRmicCompiler
private void generateSkel() throws IOException
{
skelname = fullclassname + "_Skel";
- String skelclassname = classname + "_Skel";
File file = new File(destination == null ? "" : destination
+ File.separator
+ skelname.replace('.', File.separatorChar)
@@ -1119,7 +1111,7 @@ public class ClassRmicCompiler
{
// assign opnum if hash matches supplied hash
dispatch.visitVarInsn(Opcodes.LLOAD, var.get("hash"));
- dispatch.visitLdcInsn(new Long(remotemethods[i].hash));
+ dispatch.visitLdcInsn(Long.valueOf(remotemethods[i].hash));
Label notIt = new Label();
dispatch.visitInsn(Opcodes.LCMP);
dispatch.visitJumpInsn(Opcodes.IFNE, notIt);
@@ -1214,7 +1206,7 @@ public class ClassRmicCompiler
private void generateMethodSkel(MethodVisitor cv, Method m, Variables var)
{
- Class[] sig = m.getParameterTypes();
+ Class<?>[] sig = m.getParameterTypes();
Label readArgs = new Label();
cv.visitLabel(readArgs);
@@ -1235,7 +1227,7 @@ public class ClassRmicCompiler
// dup input stream
cv.visitVarInsn(Opcodes.ALOAD, var.get("objectinput"));
- Class readCls = sig[i].isPrimitive() ? sig[i] : Object.class;
+ Class<?> readCls = sig[i].isPrimitive() ? sig[i] : Object.class;
// in.readFoo()
cv.visitMethodInsn
@@ -1314,7 +1306,7 @@ public class ClassRmicCompiler
(Opcodes.INVOKEVIRTUAL, Type.getInternalName(clazz), m.getName(),
Type.getMethodDescriptor(m));
- Class returntype = m.getReturnType();
+ Class<?> returntype = m.getReturnType();
if (! returntype.equals(Void.TYPE))
{
cv.visitVarInsn
@@ -1338,7 +1330,7 @@ public class ClassRmicCompiler
{
// out.writeFoo(result)
cv.visitVarInsn(loadOpcode(returntype), var.deallocate("result"));
- Class writeCls = returntype.isPrimitive() ? returntype : Object.class;
+ Class<?> writeCls = returntype.isPrimitive() ? returntype : Object.class;
cv.visitMethodInsn
(Opcodes.INVOKEINTERFACE,
Type.getInternalName(ObjectOutput.class),
@@ -1370,7 +1362,7 @@ public class ClassRmicCompiler
Type.getInternalName(IOException.class));
}
- private static String typeArg(Class cls)
+ private static String typeArg(Class<?> cls)
{
if (cls.isArray())
return Type.getDescriptor(cls);
@@ -1378,7 +1370,7 @@ public class ClassRmicCompiler
return Type.getInternalName(cls);
}
- private static String readMethod(Class cls)
+ private static String readMethod(Class<?> cls)
{
if (cls.equals(Void.TYPE))
throw new IllegalArgumentException("can not read void");
@@ -1406,7 +1398,7 @@ public class ClassRmicCompiler
return method;
}
- private static String writeMethod(Class cls)
+ private static String writeMethod(Class<?> cls)
{
if (cls.equals(Void.TYPE))
throw new IllegalArgumentException("can not read void");
@@ -1434,7 +1426,7 @@ public class ClassRmicCompiler
return method;
}
- private static int returnOpcode(Class cls)
+ private static int returnOpcode(Class<?> cls)
{
int returncode;
if (cls.equals(Boolean.TYPE))
@@ -1461,7 +1453,7 @@ public class ClassRmicCompiler
return returncode;
}
- private static int loadOpcode(Class cls)
+ private static int loadOpcode(Class<?> cls)
{
if (cls.equals(Void.TYPE))
throw new IllegalArgumentException("can not load void");
@@ -1489,7 +1481,7 @@ public class ClassRmicCompiler
return loadcode;
}
- private static int storeOpcode(Class cls)
+ private static int storeOpcode(Class<?> cls)
{
if (cls.equals(Void.TYPE))
throw new IllegalArgumentException("can not load void");
@@ -1517,7 +1509,7 @@ public class ClassRmicCompiler
return storecode;
}
- private static String unboxMethod(Class primitive)
+ private static String unboxMethod(Class<?> primitive)
{
if (! primitive.isPrimitive())
throw new IllegalArgumentException("can not unbox nonprimitive");
@@ -1545,12 +1537,12 @@ public class ClassRmicCompiler
return method;
}
- public static Class box(Class cls)
+ public static Class<?> box(Class<?> cls)
{
if (! cls.isPrimitive())
throw new IllegalArgumentException("can only box primitive");
- Class box;
+ Class<?> box;
if (cls.equals(Boolean.TYPE))
box = Boolean.class;
else if (cls.equals(Byte.TYPE))
@@ -1573,7 +1565,7 @@ public class ClassRmicCompiler
return box;
}
- private static int size(Class cls) {
+ private static int size(Class<?> cls) {
if (cls.equals(Long.TYPE) || cls.equals(Double.TYPE))
return 2;
else
@@ -1583,7 +1575,7 @@ public class ClassRmicCompiler
/**
* Sort exceptions so the most general go last.
*/
- private Class[] sortExceptions(Class[] except)
+ private Class<?>[] sortExceptions(Class<?>[] except)
{
for (int i = 0; i < except.length; i++)
{
@@ -1591,7 +1583,7 @@ public class ClassRmicCompiler
{
if (except[i].isAssignableFrom(except[j]))
{
- Class tmp = except[i];
+ Class<?> tmp = except[i];
except[i] = except[j];
except[j] = tmp;
}
@@ -1605,14 +1597,12 @@ public class ClassRmicCompiler
boolean noWrite, boolean verbose, boolean force, String classpath,
String bootclasspath, String extdirs, String outputDirectory)
{
- this.keep = keep;
this.need11Stubs = need11Stubs;
this.need12Stubs = need12Stubs;
this.verbose = verbose;
this.noWrite = noWrite;
// Set up classpath.
- this.classpath = classpath;
StringTokenizer st =
new StringTokenizer(classpath, File.pathSeparator);
URL[] u = new URL[st.countTokens()];
@@ -1638,15 +1628,15 @@ public class ClassRmicCompiler
private void findRemoteMethods()
throws RMICException
{
- List rmeths = new ArrayList();
- for (Class cur = clazz; cur != null; cur = cur.getSuperclass())
+ List<Method> rmeths = new ArrayList<Method>();
+ for (Class<?> cur = clazz; cur != null; cur = cur.getSuperclass())
{
- Class[] interfaces = cur.getInterfaces();
+ Class<?>[] interfaces = cur.getInterfaces();
for (int i = 0; i < interfaces.length; i++)
{
if (java.rmi.Remote.class.isAssignableFrom(interfaces[i]))
{
- Class remoteInterface = interfaces[i];
+ Class<?> remoteInterface = interfaces[i];
if (verbose)
System.out.println
("[implements " + remoteInterface.getName() + "]");
@@ -1684,11 +1674,11 @@ public class ClassRmicCompiler
boolean[] skip = new boolean[rmeths.size()];
for (int i = 0; i < skip.length; i++)
skip[i] = false;
- List methrefs = new ArrayList();
+ List<MethodRef> methrefs = new ArrayList<MethodRef>();
for (int i = 0; i < rmeths.size(); i++)
{
if (skip[i]) continue;
- Method current = (Method) rmeths.get(i);
+ Method current = rmeths.get(i);
MethodRef ref = new MethodRef(current);
for (int j = i+1; j < rmeths.size(); j++)
{
@@ -1703,7 +1693,7 @@ public class ClassRmicCompiler
}
// Convert into a MethodRef array and sort them
- remotemethods = (MethodRef[])
+ remotemethods =
methrefs.toArray(new MethodRef[methrefs.size()]);
Arrays.sort(remotemethods);
}
@@ -1748,7 +1738,7 @@ public class ClassRmicCompiler
{
Method meth;
long hash;
- List exceptions;
+ List<Class<?>> exceptions;
private String sig;
MethodRef(Method m) {
@@ -1784,12 +1774,12 @@ public class ClassRmicCompiler
return true;
}
- private static List removeSubclasses(Class[] classes)
+ private static List<Class<?>> removeSubclasses(Class<?>[] classes)
{
- List list = new ArrayList();
+ List<Class<?>> list = new ArrayList<Class<?>>();
for (int i = 0; i < classes.length; i++)
{
- Class candidate = classes[i];
+ Class<?> candidate = classes[i];
boolean add = true;
for (int j = 0; j < classes.length; j++)
{
@@ -1806,17 +1796,17 @@ public class ClassRmicCompiler
public void intersectExceptions(Method m)
{
- List incoming = removeSubclasses(m.getExceptionTypes());
+ List<Class<?>> incoming = removeSubclasses(m.getExceptionTypes());
- List updated = new ArrayList();
+ List<Class<?>> updated = new ArrayList<Class<?>>();
for (int i = 0; i < exceptions.size(); i++)
{
- Class outer = (Class) exceptions.get(i);
+ Class<?> outer = exceptions.get(i);
boolean addOuter = false;
for (int j = 0; j < incoming.size(); j++)
{
- Class inner = (Class) incoming.get(j);
+ Class<?> inner = incoming.get(j);
if (inner.equals(outer) || inner.isAssignableFrom(outer))
addOuter = true;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
index 868fc758ee3..02f72441a17 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
@@ -1,5 +1,5 @@
/* Main.java -- RMI stub generator.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -236,7 +236,7 @@ public class Main
System.exit(1);
}
- ArrayList backends = new ArrayList();
+ ArrayList<RmicBackend> backends = new ArrayList<RmicBackend>();
// FIXME: need an IDL RmicBackend
// FIXME: need a ClassGiopRmicCompiler RmicBackend
@@ -262,7 +262,7 @@ public class Main
for (int i = 0; i < backends.size(); i++)
{
- RmicBackend b = (RmicBackend) backends.get(i);
+ RmicBackend b = backends.get(i);
b.setup(keep, need11Stubs, need12Stubs,
iiop, poa, false, warnings,
noWrite, verbose, force, classpath,
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
index e02f086efdc..d533f122055 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
@@ -86,7 +86,7 @@ public class RmiMethodGenerator
{
StringBuilder b = new StringBuilder();
- Class[] args = method.getParameterTypes();
+ Class<?>[] args = method.getParameterTypes();
for (int i = 0; i < args.length; i++)
{
@@ -108,7 +108,7 @@ public class RmiMethodGenerator
{
StringBuilder b = new StringBuilder();
- Class[] args = method.getParameterTypes();
+ Class<?>[] args = method.getParameterTypes();
for (int i = 0; i < args.length; i++)
{
@@ -128,7 +128,7 @@ public class RmiMethodGenerator
{
StringBuilder b = new StringBuilder();
- Class[] args = method.getExceptionTypes();
+ Class<?>[] args = method.getExceptionTypes();
for (int i = 0; i < args.length; i++)
{
@@ -184,7 +184,7 @@ public class RmiMethodGenerator
public String getStaticMethodDeclarations()
{
StringBuilder b = new StringBuilder();
- Class[] args = method.getParameterTypes();
+ Class<?>[] args = method.getParameterTypes();
for (int i = 0; i < args.length; i++)
{
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java
index dd35c2bd5a0..cf1b0b67925 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java
@@ -1,5 +1,5 @@
/* SourceGiopRmicCompiler -- Central GIOP-based RMI stub and tie compiler class.
- Copyright (C) 2006, 2008 Free Software Foundation
+ Copyright (C) 2006, 2008, 2012 Free Software Foundation
This file is part of GNU Classpath.
@@ -50,7 +50,7 @@ import java.util.TreeSet;
* @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org)
*/
public class SourceGiopRmicCompiler
- extends Generator implements Comparator, RmicBackend
+ extends Generator implements Comparator<AbstractMethodGenerator>, RmicBackend
{
/** The package name. */
protected String packag;
@@ -74,17 +74,18 @@ public class SourceGiopRmicCompiler
/**
* The Remote's, implemented by this class.
*/
- protected Collection implementedRemotes = new HashSet();
+ protected Collection<Class<?>> implementedRemotes = new HashSet<Class<?>>();
/**
* The extra classes that must be imported.
*/
- protected Collection extraImports = new HashSet();
+ protected Collection<String> extraImports = new HashSet<String>();
/**
* The methods we must implement.
*/
- protected Collection methods = new HashSet();
+ protected Collection<AbstractMethodGenerator> methods =
+ new HashSet<AbstractMethodGenerator>();
/**
* The map of all code generator variables.
@@ -228,7 +229,7 @@ public class SourceGiopRmicCompiler
* @param remote
* the class to compile.
*/
- public synchronized void compile(Class remote)
+ public synchronized void compile(Class<?> remote)
{
reset();
String s;
@@ -261,7 +262,7 @@ public class SourceGiopRmicCompiler
+ implName);
// Get the implemented remotes.
- Class[] interfaces = remote.getInterfaces();
+ Class<?>[] interfaces = remote.getInterfaces();
for (int i = 0; i < interfaces.length; i++)
{
@@ -277,11 +278,11 @@ public class SourceGiopRmicCompiler
vars.put("#idList", getIdList(implementedRemotes));
// Collect and process methods.
- Iterator iter = implementedRemotes.iterator();
+ Iterator<Class<?>> iter = implementedRemotes.iterator();
while (iter.hasNext())
{
- Class c = (Class) iter.next();
+ Class<?> c = iter.next();
Method[] m = c.getMethods();
// Check if throws RemoteException.
@@ -374,7 +375,7 @@ public class SourceGiopRmicCompiler
* the interface, for that the repository Id must be created.
* @return the repository id
*/
- public String getId(Class c)
+ public String getId(Class<?> c)
{
return "RMI:" + c.getName() + ":0000000000000000";
}
@@ -386,25 +387,25 @@ public class SourceGiopRmicCompiler
* the collection of interfaces
* @return the fully formatted string array.
*/
- public String getIdList(Collection remotes)
+ public String getIdList(Collection<Class<?>> remotes)
{
StringBuilder b = new StringBuilder();
// Keep the Ids sorted, ensuring, that the same order will be preserved
// between compilations.
- TreeSet sortedIds = new TreeSet();
+ TreeSet<String> sortedIds = new TreeSet<String>();
- Iterator iter = remotes.iterator();
+ Iterator<Class<?>> iter = remotes.iterator();
while (iter.hasNext())
{
- sortedIds.add(getId((Class) iter.next()));
+ sortedIds.add(getId(iter.next()));
}
- iter = sortedIds.iterator();
- while (iter.hasNext())
+ Iterator<String> iterIds = sortedIds.iterator();
+ while (iterIds.hasNext())
{
- b.append(" \"" + iter.next() + "\"");
- if (iter.hasNext())
+ b.append(" \"" + iterIds.next() + "\"");
+ if (iterIds.hasNext())
b.append(", \n");
}
return b.toString();
@@ -421,10 +422,10 @@ public class SourceGiopRmicCompiler
// Generate methods.
StringBuilder b = new StringBuilder();
- Iterator iter = methods.iterator();
+ Iterator<AbstractMethodGenerator> iter = methods.iterator();
while (iter.hasNext())
{
- AbstractMethodGenerator m = (AbstractMethodGenerator) iter.next();
+ AbstractMethodGenerator m = iter.next();
b.append(m.generateStubMethod());
}
@@ -474,7 +475,7 @@ public class SourceGiopRmicCompiler
HashFinder hashFinder = new HashFinder();
// Find the hash character position:
- Iterator iter = methods.iterator();
+ Iterator<AbstractMethodGenerator> iter = methods.iterator();
String[] names = new String[methods.size()];
int p = 0;
@@ -489,7 +490,8 @@ public class SourceGiopRmicCompiler
vars.put("#hashCharPos", Integer.toString(hashCharPosition));
- ArrayList sortedMethods = new ArrayList(methods);
+ ArrayList<AbstractMethodGenerator> sortedMethods =
+ new ArrayList<AbstractMethodGenerator>(methods);
Collections.sort(sortedMethods, this);
iter = sortedMethods.iterator();
@@ -515,10 +517,10 @@ public class SourceGiopRmicCompiler
return output;
}
- public int compare(Object a, Object b)
+ public int compare(AbstractMethodGenerator ag1, AbstractMethodGenerator ag2)
{
- MethodGenerator g1 = (MethodGenerator) a;
- MethodGenerator g2 = (MethodGenerator) b;
+ MethodGenerator g1 = (MethodGenerator) ag1;
+ MethodGenerator g2 = (MethodGenerator) ag2;
return g1.getHashChar() - g2.getHashChar();
}
@@ -530,12 +532,12 @@ public class SourceGiopRmicCompiler
*/
protected String getImportStatements()
{
- TreeSet imp = new TreeSet();
+ TreeSet<String> imp = new TreeSet<String>();
- Iterator it = extraImports.iterator();
+ Iterator<String> it = extraImports.iterator();
while (it.hasNext())
{
- String ic = it.next().toString();
+ String ic = it.next();
imp.add("import " + ic + ";\n");
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
index 1fc6a809518..14ba6493ae0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
@@ -1,6 +1,5 @@
/* Variables.java --
- Copyright (c) 2004, 2005
- Free Software Foundation, Inc.
+ Copyright (c) 2004, 2005, 2012 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,10 +43,10 @@ import java.util.Iterator;
class Variables
{
- private final HashSet free = new HashSet();
- private final HashMap names = new HashMap();
- private final HashSet wides = new HashSet();
- private final HashSet declared = new HashSet();
+ private final HashSet<Integer> free = new HashSet<Integer>();
+ private final HashMap<Object,Integer> names = new HashMap<Object,Integer>();
+ private final HashSet<Object> wides = new HashSet<Object>();
+ private final HashSet<Object> declared = new HashSet<Object>();
private boolean allocated = false;
public void declare(Object name)
@@ -77,7 +76,7 @@ class Variables
{
// total allocation size is first unallocated slot
int i = free.size() + names.size() + wides.size();
- names.put(name, new Integer(i));
+ names.put(name, Integer.valueOf(i));
if (size == 2) wides.add(name);
return i;
}
@@ -103,10 +102,10 @@ class Variables
if (size == 2)
{
// look for consecutive free slots
- for (Iterator it = free.iterator(); it.hasNext(); )
+ for (Iterator<Integer> it = free.iterator(); it.hasNext(); )
{
- Integer i = (Integer) it.next();
- Integer next = new Integer(i.intValue() + 1);
+ Integer i = it.next();
+ Integer next = Integer.valueOf(i.intValue() + 1);
if (free.contains(next))
{
free.remove(i);
@@ -119,7 +118,7 @@ class Variables
}
else if (free.size() > 0)
{
- Integer i = (Integer) free.iterator().next();
+ Integer i = free.iterator().next();
free.remove(i);
names.put(name, i);
return i.intValue();
@@ -136,11 +135,11 @@ class Variables
if (declared.contains(name))
throw new IllegalStateException(name + " can't be deallocated");
- Integer i = (Integer) names.get(name);
+ Integer i = names.get(name);
names.remove(name);
free.add(i);
if (wides.remove(name))
- free.add(new Integer(i.intValue() + 1));
+ free.add(Integer.valueOf(i.intValue() + 1));
return i.intValue();
}
@@ -149,6 +148,6 @@ class Variables
if (! names.containsKey(name))
throw new IllegalArgumentException("no variable " + name);
- return ((Integer) names.get(name)).intValue();
+ return names.get(name).intValue();
}
}
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod
index 144d38deac4..5d11345accd 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod
@@ -7,7 +7,7 @@
Corporation, Norman Walsh, and the Organization for the Advancement
of Structured Information Standards (OASIS).
- $Id: dbcentx.mod,v 1.1 2008/05/27 19:26:05 jsumali Exp $
+ $Id: dbcentx.mod,v 1.1 2008-05-27 19:26:05 jsumali Exp $
Permission to use, copy, modify and distribute the DocBook XML DTD
and its accompanying documentation for any purpose and without fee
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent
index c03b1c91e9c..beb34bfda83 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amsa.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amsa.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent
index 945d7eef431..cc8b5b53396 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amsb.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amsb.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent
index 604ac480c67..0d4990f5459 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amsc.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amsc.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent
index fbc1e94e145..9906bde8c82 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amsn.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amsn.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent
index 6dc68108f0c..f972ffd88e9 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amso.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amso.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent
index 9c370b3ad4d..c09c33beafd 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-amsr.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-amsr.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent
index 904916c908f..456c434412c 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-box.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-box.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent
index 6507c79cb5f..1caf86b8508 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-cyr1.ent,v 1.1 2008/05/27 19:26:06 jsumali Exp $
+ $Id: iso-cyr1.ent,v 1.1 2008-05-27 19:26:06 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent
index 50f534749a4..07d61e0ea83 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-cyr2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-cyr2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent
index 278e5d9e08f..3e1fe7645b7 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-dia.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-dia.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent
index 848f203d079..9c85b571064 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-grk1.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-grk1.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent
index a75f5b04abb..3809376a4ad 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-grk2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-grk2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent
index 070ef252ca4..8ca2d43876d 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-grk3.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-grk3.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent
index 18c96eb49f6..93956dc7633 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-grk4.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-grk4.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent
index 9c2c24932f3..4e60e440834 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-lat1.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-lat1.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent
index 2f146967cc4..0d5f0d3fd85 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-lat2.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-lat2.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent
index b3c434e30d1..947bdae6341 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-num.ent,v 1.1 2008/05/27 19:26:07 jsumali Exp $
+ $Id: iso-num.ent,v 1.1 2008-05-27 19:26:07 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent
index 979d178a49d..56710314f68 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-pub.ent,v 1.1 2008/05/27 19:26:08 jsumali Exp $
+ $Id: iso-pub.ent,v 1.1 2008-05-27 19:26:08 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent
index b0aaac49c28..388d94557fa 100644
--- a/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent
+++ b/libjava/classpath/tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent
@@ -5,7 +5,7 @@
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
- $Id: iso-tech.ent,v 1.1 2008/05/27 19:26:08 jsumali Exp $
+ $Id: iso-tech.ent,v 1.1 2008-05-27 19:26:08 jsumali Exp $
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h
index 19178ef878c..b9516dd08d0 100644
--- a/libjava/gcj/javaprims.h
+++ b/libjava/gcj/javaprims.h
@@ -161,6 +161,7 @@ extern "Java"
class ArrayIndexOutOfBoundsException;
class ArrayStoreException;
class AssertionError;
+ class AutoCloseable;
class Boolean;
class Byte;
class CharSequence;
@@ -226,6 +227,7 @@ extern "Java"
class Process;
class ProcessBuilder;
class Readable;
+ class ReflectiveOperationException;
class Runnable;
class Runtime;
class RuntimeException;
diff --git a/libjava/gnu/java/nio/FileLockImpl.h b/libjava/gnu/java/nio/FileLockImpl.h
index ba1668be327..514f03ea65d 100644
--- a/libjava/gnu/java/nio/FileLockImpl.h
+++ b/libjava/gnu/java/nio/FileLockImpl.h
@@ -34,6 +34,7 @@ public: // actually protected
void finalize();
public:
jboolean isValid();
+ void close();
void release();
private:
jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::FileLock)))) valid;
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
index 673ca2522df..6af01f15ebc 100644
--- a/libjava/gnu/java/nio/FileLockImpl.java
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -90,6 +90,11 @@ public final class FileLockImpl extends FileLock
return valid;
}
+ public void close() throws Exception
+ {
+ release();
+ }
+
/**
* Releases the lock if it is still valid. Marks this lock as invalid.
*/
diff --git a/libjava/gnu/java/text/AttributedFormatBuffer.h b/libjava/gnu/java/text/AttributedFormatBuffer.h
index 382afe1a3de..34293914988 100644
--- a/libjava/gnu/java/text/AttributedFormatBuffer.h
+++ b/libjava/gnu/java/text/AttributedFormatBuffer.h
@@ -46,7 +46,7 @@ private:
public:
virtual void append(::java::lang::String *);
virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *);
- virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *);
virtual void append(jchar);
virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *);
virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *);
@@ -57,13 +57,13 @@ public:
virtual void sync();
virtual ::gnu::java::lang::CPStringBuilder * getBuffer();
virtual JArray< jint > * getRanges();
- virtual JArray< ::java::util::HashMap * > * getAttributes();
+ virtual ::java::util::List * getAttributes();
private:
::gnu::java::lang::CPStringBuilder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
::java::util::ArrayList * ranges;
::java::util::ArrayList * attributes;
- JArray< jint > * a_ranges;
- JArray< ::java::util::HashMap * > * a_attributes;
+ JArray< jint > * aRanges;
+ ::java::util::List * aAttributes;
jint startingRange;
public: // actually package-private
::java::text::AttributedCharacterIterator$Attribute * defaultAttr;
diff --git a/libjava/gnu/java/text/FormatBuffer.h b/libjava/gnu/java/text/FormatBuffer.h
index 267cf6fb013..14fcd5a8c2e 100644
--- a/libjava/gnu/java/text/FormatBuffer.h
+++ b/libjava/gnu/java/text/FormatBuffer.h
@@ -36,7 +36,7 @@ class gnu::java::text::FormatBuffer : public ::java::lang::Object
public:
virtual void append(::java::lang::String *) = 0;
virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *) = 0;
- virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *) = 0;
+ virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *) = 0;
virtual void append(jchar) = 0;
virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *) = 0;
virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *) = 0;
diff --git a/libjava/gnu/java/text/FormatCharacterIterator.h b/libjava/gnu/java/text/FormatCharacterIterator.h
index 82c7fa02e4d..dcb68382297 100644
--- a/libjava/gnu/java/text/FormatCharacterIterator.h
+++ b/libjava/gnu/java/text/FormatCharacterIterator.h
@@ -36,7 +36,7 @@ class gnu::java::text::FormatCharacterIterator : public ::java::lang::Object
public:
FormatCharacterIterator();
- FormatCharacterIterator(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ FormatCharacterIterator(::java::lang::String *, JArray< jint > *, ::java::util::List *);
virtual ::java::util::Set * getAllAttributeKeys();
virtual ::java::util::Map * getAttributes();
virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *);
@@ -56,11 +56,11 @@ public:
virtual jchar next();
virtual jchar previous();
virtual jchar setIndex(jint);
- virtual void mergeAttributes(JArray< ::java::util::HashMap * > *, JArray< jint > *);
+ virtual void mergeAttributes(::java::util::List *, JArray< jint > *);
virtual void append(::java::text::AttributedCharacterIterator *);
virtual void append(::java::lang::String *, ::java::util::HashMap *);
virtual void append(::java::lang::String *);
- virtual void addAttributes(::java::util::HashMap *, jint, jint);
+ virtual void addAttributes(::java::util::Map *, jint, jint);
private:
void debug(::java::lang::String *);
void dumpTable();
@@ -68,7 +68,7 @@ private:
jint charIndex;
jint attributeIndex;
JArray< jint > * ranges;
- JArray< ::java::util::HashMap * > * attributes;
+ ::java::util::List * attributes;
static const jboolean DEBUG = 0;
public:
static ::java::lang::Class class$;
diff --git a/libjava/gnu/java/text/StringFormatBuffer.h b/libjava/gnu/java/text/StringFormatBuffer.h
index 9ee5bf8cb7e..945aa9becfe 100644
--- a/libjava/gnu/java/text/StringFormatBuffer.h
+++ b/libjava/gnu/java/text/StringFormatBuffer.h
@@ -38,7 +38,7 @@ public:
StringFormatBuffer(::java::lang::StringBuffer *);
virtual void append(::java::lang::String *);
virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *);
- virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ virtual void append(::java::lang::String *, JArray< jint > *, ::java::util::List *);
virtual void append(jchar);
virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *);
virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *);
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
index a5f7a82edcf..3477caebb4b 100644
--- a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
@@ -31,9 +31,10 @@ class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo : public ::
{
public:
- DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong);
+ DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong);
public: // actually package-private
- ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) soname;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) copyright;
+ ::java::lang::String * soname;
jlong index;
public:
static ::java::lang::Class class$;
diff --git a/libjava/java/awt/geom/Area.h b/libjava/java/awt/geom/Area.h
index 47a87df4ec5..6a127dced45 100644
--- a/libjava/java/awt/geom/Area.h
+++ b/libjava/java/awt/geom/Area.h
@@ -87,7 +87,7 @@ public: // actually package-private
::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) solids;
::java::util::Vector * holes;
private:
- ::java::util::Vector * cc_intersections;
+ ::java::util::Vector * ccIntersections;
jint windingRule;
public:
static ::java::lang::Class class$;
diff --git a/libjava/java/lang/AssertionError.h b/libjava/java/lang/AssertionError.h
index 0154c04b3f4..15c4672e75c 100644
--- a/libjava/java/lang/AssertionError.h
+++ b/libjava/java/lang/AssertionError.h
@@ -20,6 +20,7 @@ public:
AssertionError(jlong);
AssertionError(jfloat);
AssertionError(jdouble);
+ AssertionError(::java::lang::String *, ::java::lang::Throwable *);
private:
static const jlong serialVersionUID = -5013299493970297370LL;
public:
diff --git a/libjava/java/lang/AutoCloseable.h b/libjava/java/lang/AutoCloseable.h
new file mode 100644
index 00000000000..023538f1f2d
--- /dev/null
+++ b/libjava/java/lang/AutoCloseable.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_AutoCloseable__
+#define __java_lang_AutoCloseable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::lang::AutoCloseable : public ::java::lang::Object
+{
+
+public:
+ virtual void close() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_lang_AutoCloseable__
diff --git a/libjava/java/lang/Boolean.h b/libjava/java/lang/Boolean.h
index 0ead5b527e4..8a764b9b688 100644
--- a/libjava/java/lang/Boolean.h
+++ b/libjava/java/lang/Boolean.h
@@ -23,6 +23,7 @@ public:
jboolean equals(::java::lang::Object *);
static jboolean getBoolean(::java::lang::String *);
jint Boolean$compareTo(::java::lang::Boolean *);
+ static jint compare(jboolean, jboolean);
static jboolean parseBoolean(::java::lang::String *);
jint compareTo(::java::lang::Object *);
private:
diff --git a/libjava/java/lang/Byte.h b/libjava/java/lang/Byte.h
index fc9e3b33f67..547e08f5113 100644
--- a/libjava/java/lang/Byte.h
+++ b/libjava/java/lang/Byte.h
@@ -33,6 +33,7 @@ public:
jint hashCode();
jboolean equals(::java::lang::Object *);
jint Byte$compareTo(::java::lang::Byte *);
+ static jint compare(jbyte, jbyte);
jint compareTo(::java::lang::Object *);
private:
static const jlong serialVersionUID = -7183698231559129828LL;
diff --git a/libjava/java/lang/ClassNotFoundException.h b/libjava/java/lang/ClassNotFoundException.h
index c0ab7815807..365f5a866d4 100644
--- a/libjava/java/lang/ClassNotFoundException.h
+++ b/libjava/java/lang/ClassNotFoundException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::ClassNotFoundException : public ::java::lang::Exception
+class java::lang::ClassNotFoundException : public ::java::lang::ReflectiveOperationException
{
public:
@@ -19,7 +19,7 @@ public:
virtual ::java::lang::Throwable * getCause();
private:
static const jlong serialVersionUID = 9176873029745254542LL;
- ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) ex;
+ ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::ReflectiveOperationException)))) ex;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/java/lang/IllegalAccessException.h b/libjava/java/lang/IllegalAccessException.h
index c0917475699..a01967bfe63 100644
--- a/libjava/java/lang/IllegalAccessException.h
+++ b/libjava/java/lang/IllegalAccessException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::IllegalAccessException : public ::java::lang::Exception
+class java::lang::IllegalAccessException : public ::java::lang::ReflectiveOperationException
{
public:
diff --git a/libjava/java/lang/InstantiationException.h b/libjava/java/lang/InstantiationException.h
index 805ab3c70dc..72df77f9fed 100644
--- a/libjava/java/lang/InstantiationException.h
+++ b/libjava/java/lang/InstantiationException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::InstantiationException : public ::java::lang::Exception
+class java::lang::InstantiationException : public ::java::lang::ReflectiveOperationException
{
public:
diff --git a/libjava/java/lang/Integer.h b/libjava/java/lang/Integer.h
index f1bd11bdbd9..95624e432c3 100644
--- a/libjava/java/lang/Integer.h
+++ b/libjava/java/lang/Integer.h
@@ -43,6 +43,7 @@ public:
static ::java::lang::Integer * getInteger(::java::lang::String *, ::java::lang::Integer *);
static ::java::lang::Integer * decode(::java::lang::String *);
jint Integer$compareTo(::java::lang::Integer *);
+ static jint compare(jint, jint);
static jint bitCount(jint);
static jint rotateLeft(jint, jint);
static jint rotateRight(jint, jint);
diff --git a/libjava/java/lang/LinkageError.h b/libjava/java/lang/LinkageError.h
index 4368d8b9ff8..ed632b35c07 100644
--- a/libjava/java/lang/LinkageError.h
+++ b/libjava/java/lang/LinkageError.h
@@ -14,6 +14,7 @@ class java::lang::LinkageError : public ::java::lang::Error
public:
LinkageError();
LinkageError(::java::lang::String *);
+ LinkageError(::java::lang::String *, ::java::lang::Throwable *);
private:
static const jlong serialVersionUID = 3579600108157160122LL;
public:
diff --git a/libjava/java/lang/Long.h b/libjava/java/lang/Long.h
index 60c0d24379d..ae5c2640c86 100644
--- a/libjava/java/lang/Long.h
+++ b/libjava/java/lang/Long.h
@@ -43,6 +43,7 @@ public:
static ::java::lang::Long * getLong(::java::lang::String *, jlong);
static ::java::lang::Long * getLong(::java::lang::String *, ::java::lang::Long *);
jint Long$compareTo(::java::lang::Long *);
+ static jint compare(jlong, jlong);
static jint bitCount(jlong);
static jlong rotateLeft(jlong, jint);
static jlong rotateRight(jlong, jint);
diff --git a/libjava/java/lang/NoSuchFieldException.h b/libjava/java/lang/NoSuchFieldException.h
index 36fe841ed74..11e1d1aceb3 100644
--- a/libjava/java/lang/NoSuchFieldException.h
+++ b/libjava/java/lang/NoSuchFieldException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::NoSuchFieldException : public ::java::lang::Exception
+class java::lang::NoSuchFieldException : public ::java::lang::ReflectiveOperationException
{
public:
diff --git a/libjava/java/lang/NoSuchMethodException.h b/libjava/java/lang/NoSuchMethodException.h
index dc905d67f48..d2de014c5b9 100644
--- a/libjava/java/lang/NoSuchMethodException.h
+++ b/libjava/java/lang/NoSuchMethodException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::NoSuchMethodException : public ::java::lang::Exception
+class java::lang::NoSuchMethodException : public ::java::lang::ReflectiveOperationException
{
public:
diff --git a/libjava/java/lang/ReflectiveOperationException.h b/libjava/java/lang/ReflectiveOperationException.h
new file mode 100644
index 00000000000..3a6a698214a
--- /dev/null
+++ b/libjava/java/lang/ReflectiveOperationException.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_ReflectiveOperationException__
+#define __java_lang_ReflectiveOperationException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::lang::ReflectiveOperationException : public ::java::lang::Exception
+{
+
+public:
+ ReflectiveOperationException();
+ ReflectiveOperationException(::java::lang::String *);
+ ReflectiveOperationException(::java::lang::String *, ::java::lang::Throwable *);
+ ReflectiveOperationException(::java::lang::Throwable *);
+private:
+ static const jlong serialVersionUID = 123456789LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_lang_ReflectiveOperationException__
diff --git a/libjava/java/lang/Short.h b/libjava/java/lang/Short.h
index 4858db52f4a..48a3973690c 100644
--- a/libjava/java/lang/Short.h
+++ b/libjava/java/lang/Short.h
@@ -33,6 +33,7 @@ public:
jint hashCode();
jboolean equals(::java::lang::Object *);
jint Short$compareTo(::java::lang::Short *);
+ static jint compare(jshort, jshort);
static jshort reverseBytes(jshort);
jint compareTo(::java::lang::Object *);
private:
diff --git a/libjava/java/lang/reflect/InvocationTargetException.h b/libjava/java/lang/reflect/InvocationTargetException.h
index 37e229c2957..5132c76fac2 100644
--- a/libjava/java/lang/reflect/InvocationTargetException.h
+++ b/libjava/java/lang/reflect/InvocationTargetException.h
@@ -6,9 +6,9 @@
#pragma interface
-#include <java/lang/Exception.h>
+#include <java/lang/ReflectiveOperationException.h>
-class java::lang::reflect::InvocationTargetException : public ::java::lang::Exception
+class java::lang::reflect::InvocationTargetException : public ::java::lang::ReflectiveOperationException
{
public: // actually protected
@@ -20,7 +20,7 @@ public:
virtual ::java::lang::Throwable * getCause();
private:
static const jlong serialVersionUID = 4085088731926701167LL;
- ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) target;
+ ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::ReflectiveOperationException)))) target;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/java/nio/channels/FileLock.h b/libjava/java/nio/channels/FileLock.h
index fb358583518..1d16a7c4013 100644
--- a/libjava/java/nio/channels/FileLock.h
+++ b/libjava/java/nio/channels/FileLock.h
@@ -36,6 +36,7 @@ public:
virtual jlong position();
virtual jlong size();
virtual ::java::lang::String * toString();
+ virtual void close() = 0;
private:
::java::nio::channels::FileChannel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel__;
jlong position__;
diff --git a/libjava/java/text/CollationElementIterator.h b/libjava/java/text/CollationElementIterator.h
index a3b75de189e..2638b078477 100644
--- a/libjava/java/text/CollationElementIterator.h
+++ b/libjava/java/text/CollationElementIterator.h
@@ -50,8 +50,8 @@ public: // actually package-private
jint index;
jint textIndex;
private:
- JArray< ::java::text::RuleBasedCollator$CollationElement * > * text_decomposition;
- JArray< jint > * text_indexes;
+ JArray< ::java::text::RuleBasedCollator$CollationElement * > * textDecomposition;
+ JArray< jint > * textIndexes;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/java/text/DateFormatSymbols$DFSData.h b/libjava/java/text/DateFormatSymbols$DFSData.h
new file mode 100644
index 00000000000..939223c93aa
--- /dev/null
+++ b/libjava/java/text/DateFormatSymbols$DFSData.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_DateFormatSymbols$DFSData__
+#define __java_text_DateFormatSymbols$DFSData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormatSymbols$DFSData;
+ }
+ }
+}
+
+class java::text::DateFormatSymbols$DFSData : public ::java::lang::Object
+{
+
+public:
+ DateFormatSymbols$DFSData(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< JArray< ::java::lang::String * > * > *);
+ virtual JArray< ::java::lang::String * > * getAMPMs();
+ virtual JArray< ::java::lang::String * > * getEras();
+ virtual ::java::lang::String * getLocalPatternChars();
+ virtual JArray< ::java::lang::String * > * getMonths();
+ virtual JArray< ::java::lang::String * > * getShortMonths();
+ virtual JArray< ::java::lang::String * > * getWeekdays();
+ virtual JArray< ::java::lang::String * > * getShortWeekdays();
+ virtual JArray< ::java::lang::String * > * getDateFormats();
+ virtual JArray< ::java::lang::String * > * getTimeFormats();
+ virtual JArray< JArray< ::java::lang::String * > * > * getZoneStrings();
+private:
+ JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms;
+ JArray< ::java::lang::String * > * eras;
+ ::java::lang::String * localPatternChars;
+ JArray< ::java::lang::String * > * months;
+ JArray< ::java::lang::String * > * shortMonths;
+ JArray< ::java::lang::String * > * weekdays;
+ JArray< ::java::lang::String * > * shortWeekdays;
+ JArray< ::java::lang::String * > * dateFormats;
+ JArray< ::java::lang::String * > * timeFormats;
+ JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_DateFormatSymbols$DFSData__
diff --git a/libjava/java/text/DateFormatSymbols.h b/libjava/java/text/DateFormatSymbols.h
index 524fab106e1..a4586541ce6 100644
--- a/libjava/java/text/DateFormatSymbols.h
+++ b/libjava/java/text/DateFormatSymbols.h
@@ -16,6 +16,7 @@ extern "Java"
namespace text
{
class DateFormatSymbols;
+ class DateFormatSymbols$DFSData;
}
}
}
@@ -25,8 +26,10 @@ class java::text::DateFormatSymbols : public ::java::lang::Object
static JArray< ::java::lang::String * > * getStringArray(::java::util::List *, ::java::lang::String *, jint);
static JArray< ::java::lang::String * > * getStringArray(::java::util::List *, ::java::lang::String *, jint, JArray< ::java::lang::String * > *);
- JArray< JArray< ::java::lang::String * > * > * getZoneStrings(::java::util::ResourceBundle *, ::java::util::Locale *);
- JArray< ::java::lang::String * > * formatsForKey(::java::util::ResourceBundle *, ::java::lang::String *);
+ static JArray< JArray< ::java::lang::String * > * > * getZoneStrings(::java::util::List *, ::java::util::Locale *);
+ static JArray< ::java::lang::String * > * formatsForKey(::java::util::List *, ::java::lang::String *);
+ static ::java::lang::String * getString(::java::util::List *, ::java::lang::String *);
+ static ::java::text::DateFormatSymbols$DFSData * retrieveData(::java::util::Locale *);
public:
DateFormatSymbols(::java::util::Locale *);
DateFormatSymbols();
@@ -55,6 +58,11 @@ public:
virtual jint hashCode();
static ::java::text::DateFormatSymbols * getInstance();
static ::java::text::DateFormatSymbols * getInstance(::java::util::Locale *);
+private:
+ static ::java::util::Properties * properties;
+ static ::java::util::regex::Pattern * ZONE_SEP;
+ static ::java::util::regex::Pattern * FIELD_SEP;
+ static ::java::util::concurrent::ConcurrentMap * dataCache;
public: // actually package-private
JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms;
JArray< ::java::lang::String * > * eras;
@@ -66,7 +74,6 @@ public: // actually package-private
JArray< ::java::lang::String * > * shortWeekdays;
JArray< ::java::lang::String * > * weekdays;
private:
- static ::java::util::Properties * properties;
JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings;
JArray< JArray< ::java::lang::String * > * > * zoneStrings;
static const jlong serialVersionUID = -5987973545549424702LL;
diff --git a/libjava/java/util/TimeZone$1.h b/libjava/java/util/TimeZone$1.h
index 4137030e0e9..35000eaeb66 100644
--- a/libjava/java/util/TimeZone$1.h
+++ b/libjava/java/util/TimeZone$1.h
@@ -14,6 +14,7 @@ class java::util::TimeZone$1 : public ::java::lang::Object
public: // actually package-private
TimeZone$1();
public:
+ virtual ::java::util::TimeZone * TimeZone$1$run();
virtual ::java::lang::Object * run();
static ::java::lang::Class class$;
};
diff --git a/libjava/java/util/regex/Matcher.h b/libjava/java/util/regex/Matcher.h
index bb59f883dae..b3944b08f2a 100644
--- a/libjava/java/util/regex/Matcher.h
+++ b/libjava/java/util/regex/Matcher.h
@@ -31,6 +31,7 @@ class java::util::regex::Matcher : public ::java::lang::Object
public: // actually package-private
Matcher(::java::util::regex::Pattern *, ::java::lang::CharSequence *);
public:
+ ::java::util::regex::Matcher * usePattern(::java::util::regex::Pattern *);
::java::util::regex::Matcher * appendReplacement(::java::lang::StringBuffer *, ::java::lang::String *);
::java::lang::StringBuffer * appendTail(::java::lang::StringBuffer *);
jint end();
diff --git a/libjava/javax/security/sasl/Sasl.h b/libjava/javax/security/sasl/Sasl.h
index 16a0cf23d94..a34b499922a 100644
--- a/libjava/javax/security/sasl/Sasl.h
+++ b/libjava/javax/security/sasl/Sasl.h
@@ -53,6 +53,7 @@ public:
static ::java::lang::String * POLICY_FORWARD_SECRECY;
static ::java::lang::String * POLICY_PASS_CREDENTIALS;
static ::java::lang::String * REUSE;
+ static ::java::lang::String * CREDENTIALS;
private:
static ::java::lang::String * CLIENT_FACTORY_SVC;
static ::java::lang::String * SERVER_FACTORY_SVC;
diff --git a/libjava/sources.am b/libjava/sources.am
index 150b42b3c47..17dff3a10e1 100644
--- a/libjava/sources.am
+++ b/libjava/sources.am
@@ -4625,6 +4625,7 @@ classpath/java/lang/ArithmeticException.java \
classpath/java/lang/ArrayIndexOutOfBoundsException.java \
classpath/java/lang/ArrayStoreException.java \
classpath/java/lang/AssertionError.java \
+classpath/java/lang/AutoCloseable.java \
classpath/java/lang/Boolean.java \
classpath/java/lang/Byte.java \
classpath/java/lang/CharSequence.java \
@@ -4683,6 +4684,7 @@ java/lang/PosixProcess.java \
classpath/java/lang/Process.java \
classpath/java/lang/ProcessBuilder.java \
classpath/java/lang/Readable.java \
+classpath/java/lang/ReflectiveOperationException.java \
classpath/java/lang/Runnable.java \
java/lang/Runtime.java \
classpath/java/lang/RuntimeException.java \
OpenPOWER on IntegriCloud